@aws/cloudfront-hosting-toolkit
Version:
CloudFront Hosting Toolkit offers the convenience of a managed frontend hosting service while retaining full control over the hosting and deployment infrastructure to make it your own.
78 lines • 9.17 kB
JavaScript
;
/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const delete_1 = require("./actions/delete");
const deploy_1 = __importDefault(require("./actions/deploy"));
const show_1 = require("./actions/show");
const init_1 = __importDefault(require("./actions/init"));
const constants_1 = require("./shared/constants");
const status_1 = require("./actions/status");
const yargs = require("yargs");
async function main() {
const args = yargs
.usage("Usage: $0 <command> [options]")
.command("init", "Step by step guide for configuring a GitHub source code repository and generate a configuration file", (yargs) => {
yargs
.option("s3", {
describe: "Step by step guide for configuring an S3 source code repository and generate a configuration file",
type: "boolean",
});
})
.command("deploy", 'Initiate a deployment of the infrastructure, utilizing the configuration file generated during the execution of the "init" command')
.command("show", "Show the domain name connected to the deployed source code repository for a website that has been deployed")
.command("delete", "Completely remove the hosting infrastructure from your AWS account")
.command("status", "Display the current status of the pipeline deployment")
.help()
.parse();
if (args._.length > 1) {
console.error(`${constants_1.ERROR_PREFIX} Only one command at a time`);
process.exit(1);
}
await handleCommand(args);
}
async function handleCommand({ _: [command], s3, }) {
switch (command) {
case "deploy":
await (0, deploy_1.default)();
break;
case "show":
await (0, show_1.handleShowCommand)();
break;
case "init":
await (0, init_1.default)(s3 || false);
break;
case "delete":
await (0, delete_1.handleDeleteCommand)();
break;
case "status":
await (0, status_1.handleStatusCommand)();
break;
default:
yargs.showHelp();
}
}
if (require.main === module) {
main().catch((err) => {
console.error(err);
process.exit(1);
});
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBOzs7Ozs7Ozs7Ozs7OztHQWNHOzs7OztBQUVILDZDQUF1RDtBQUN2RCw4REFBbUQ7QUFDbkQseUNBQW1EO0FBQ25ELDBEQUErQztBQUMvQyxrREFBa0Q7QUFDbEQsNkNBQXVEO0FBRXZELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUUvQixLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLElBQUksR0FBRyxLQUFLO1NBQ2YsS0FBSyxDQUFDLCtCQUErQixDQUFDO1NBQ3RDLE9BQU8sQ0FDTixNQUFNLEVBQ04sc0dBQXNHLEVBQ3RHLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDYixLQUFLO2FBQ0YsTUFBTSxDQUFDLElBQUksRUFBRTtZQUNaLFFBQVEsRUFDTixtR0FBbUc7WUFDckcsSUFBSSxFQUFFLFNBQVM7U0FDaEIsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUNGO1NBQ0EsT0FBTyxDQUNOLFFBQVEsRUFDUixvSUFBb0ksQ0FDckk7U0FDQSxPQUFPLENBQ04sTUFBTSxFQUNOLDRHQUE0RyxDQUM3RztTQUNBLE9BQU8sQ0FDTixRQUFRLEVBQ1Isb0VBQW9FLENBQ3JFO1NBQ0EsT0FBTyxDQUFDLFFBQVEsRUFBRSx1REFBdUQsQ0FBQztTQUMxRSxJQUFJLEVBQUU7U0FDTixLQUFLLEVBQUUsQ0FBQztJQUVYLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLHdCQUFZLDZCQUE2QixDQUFDLENBQUM7UUFDNUQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQUVELEtBQUssVUFBVSxhQUFhLENBQUMsRUFDM0IsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQ1osRUFBRSxHQUlIO0lBQ0MsUUFBUSxPQUFPLEVBQUUsQ0FBQztRQUNoQixLQUFLLFFBQVE7WUFDWCxNQUFNLElBQUEsZ0JBQW1CLEdBQUUsQ0FBQztZQUM1QixNQUFNO1FBRVIsS0FBSyxNQUFNO1lBQ1QsTUFBTSxJQUFBLHdCQUFpQixHQUFFLENBQUM7WUFDMUIsTUFBTTtRQUNSLEtBQUssTUFBTTtZQUNULE1BQU0sSUFBQSxjQUFpQixFQUFDLEVBQUUsSUFBSSxLQUFLLENBQUMsQ0FBQztZQUNyQyxNQUFNO1FBQ1IsS0FBSyxRQUFRO1lBQ1gsTUFBTSxJQUFBLDRCQUFtQixHQUFFLENBQUM7WUFDNUIsTUFBTTtRQUNSLEtBQUssUUFBUTtZQUNYLE1BQU0sSUFBQSw0QkFBbUIsR0FBRSxDQUFDO1lBQzVCLE1BQU07UUFDUjtZQUNFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNwQixDQUFDO0FBQ0gsQ0FBQztBQUVELElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztJQUM1QixJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNuQixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuLypcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS5cbiAqICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgaGFuZGxlRGVsZXRlQ29tbWFuZCB9IGZyb20gXCIuL2FjdGlvbnMvZGVsZXRlXCI7XG5pbXBvcnQgaGFuZGxlRGVwbG95Q29tbWFuZCBmcm9tIFwiLi9hY3Rpb25zL2RlcGxveVwiO1xuaW1wb3J0IHsgaGFuZGxlU2hvd0NvbW1hbmQgfSBmcm9tIFwiLi9hY3Rpb25zL3Nob3dcIjtcbmltcG9ydCBoYW5kbGVJbml0Q29tbWFuZCBmcm9tIFwiLi9hY3Rpb25zL2luaXRcIjtcbmltcG9ydCB7IEVSUk9SX1BSRUZJWCB9IGZyb20gXCIuL3NoYXJlZC9jb25zdGFudHNcIjtcbmltcG9ydCB7IGhhbmRsZVN0YXR1c0NvbW1hbmQgfSBmcm9tIFwiLi9hY3Rpb25zL3N0YXR1c1wiO1xuXG5jb25zdCB5YXJncyA9IHJlcXVpcmUoXCJ5YXJnc1wiKTtcblxuYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcbiAgY29uc3QgYXJncyA9IHlhcmdzXG4gICAgLnVzYWdlKFwiVXNhZ2U6ICQwIDxjb21tYW5kPiBbb3B0aW9uc11cIilcbiAgICAuY29tbWFuZChcbiAgICAgIFwiaW5pdFwiLFxuICAgICAgXCJTdGVwIGJ5IHN0ZXAgZ3VpZGUgZm9yIGNvbmZpZ3VyaW5nIGEgR2l0SHViIHNvdXJjZSBjb2RlIHJlcG9zaXRvcnkgYW5kIGdlbmVyYXRlIGEgY29uZmlndXJhdGlvbiBmaWxlXCIsXG4gICAgICAoeWFyZ3M6IGFueSkgPT4ge1xuICAgICAgICB5YXJnc1xuICAgICAgICAgIC5vcHRpb24oXCJzM1wiLCB7XG4gICAgICAgICAgICBkZXNjcmliZTpcbiAgICAgICAgICAgICAgXCJTdGVwIGJ5IHN0ZXAgZ3VpZGUgZm9yIGNvbmZpZ3VyaW5nIGFuIFMzIHNvdXJjZSBjb2RlIHJlcG9zaXRvcnkgYW5kIGdlbmVyYXRlIGEgY29uZmlndXJhdGlvbiBmaWxlXCIsXG4gICAgICAgICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgICAgICB9KSAgICAgICAgICBcbiAgICAgIH1cbiAgICApXG4gICAgLmNvbW1hbmQoXG4gICAgICBcImRlcGxveVwiLFxuICAgICAgJ0luaXRpYXRlIGEgZGVwbG95bWVudCBvZiB0aGUgaW5mcmFzdHJ1Y3R1cmUsIHV0aWxpemluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlIGdlbmVyYXRlZCBkdXJpbmcgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgXCJpbml0XCIgY29tbWFuZCdcbiAgICApXG4gICAgLmNvbW1hbmQoXG4gICAgICBcInNob3dcIixcbiAgICAgIFwiU2hvdyB0aGUgZG9tYWluIG5hbWUgY29ubmVjdGVkIHRvIHRoZSBkZXBsb3llZCBzb3VyY2UgY29kZSByZXBvc2l0b3J5IGZvciBhIHdlYnNpdGUgdGhhdCBoYXMgYmVlbiBkZXBsb3llZFwiXG4gICAgKVxuICAgIC5jb21tYW5kKFxuICAgICAgXCJkZWxldGVcIixcbiAgICAgIFwiQ29tcGxldGVseSByZW1vdmUgdGhlIGhvc3RpbmcgaW5mcmFzdHJ1Y3R1cmUgZnJvbSB5b3VyIEFXUyBhY2NvdW50XCJcbiAgICApXG4gICAgLmNvbW1hbmQoXCJzdGF0dXNcIiwgXCJEaXNwbGF5IHRoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGUgcGlwZWxpbmUgZGVwbG95bWVudFwiKVxuICAgIC5oZWxwKClcbiAgICAucGFyc2UoKTtcblxuICBpZiAoYXJncy5fLmxlbmd0aCA+IDEpIHtcbiAgICBjb25zb2xlLmVycm9yKGAke0VSUk9SX1BSRUZJWH0gT25seSBvbmUgY29tbWFuZCBhdCBhIHRpbWVgKTtcbiAgICBwcm9jZXNzLmV4aXQoMSk7XG4gIH1cblxuICBhd2FpdCBoYW5kbGVDb21tYW5kKGFyZ3MpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBoYW5kbGVDb21tYW5kKHtcbiAgXzogW2NvbW1hbmRdLFxuICBzMyxcbn06IHtcbiAgXzogc3RyaW5nW107XG4gIHMzPzogYm9vbGVhbjtcbn0pIHtcbiAgc3dpdGNoIChjb21tYW5kKSB7XG4gICAgY2FzZSBcImRlcGxveVwiOlxuICAgICAgYXdhaXQgaGFuZGxlRGVwbG95Q29tbWFuZCgpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFwic2hvd1wiOlxuICAgICAgYXdhaXQgaGFuZGxlU2hvd0NvbW1hbmQoKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJpbml0XCI6XG4gICAgICBhd2FpdCBoYW5kbGVJbml0Q29tbWFuZChzMyB8fCBmYWxzZSk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFwiZGVsZXRlXCI6XG4gICAgICBhd2FpdCBoYW5kbGVEZWxldGVDb21tYW5kKCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFwic3RhdHVzXCI6XG4gICAgICBhd2FpdCBoYW5kbGVTdGF0dXNDb21tYW5kKCk7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgeWFyZ3Muc2hvd0hlbHAoKVxuICB9XG59XG5cbmlmIChyZXF1aXJlLm1haW4gPT09IG1vZHVsZSkge1xuICBtYWluKCkuY2F0Y2goKGVycikgPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICBwcm9jZXNzLmV4aXQoMSk7XG4gIH0pO1xufVxuIl19