UNPKG

@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
#!/usr/bin/env node "use strict"; /* * 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