@moonset/executor
Version:
The Moonset Executor
45 lines • 5.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CDKApp = void 0;
const path = require("path");
const execa = require("execa");
const plugin_1 = require("./plugin");
const constants_1 = require("./constants");
class CDKApp {
constructor(appPath) {
this.appPath = appPath;
this.APP_FILENAME = path.basename(appPath);
}
async deploy(...args) {
const cdkPlugins = plugin_1.PluginHost.instance.cdkPlugins.map(p => {
return `--plugin=${p}`;
});
await this.execute([
'deploy',
'*',
...args,
...cdkPlugins,
`--app=${path.join(constants_1.MoonsetConstants.BUILD_TMP_DIR, constants_1.MoonsetConstants.CDK_OUT_DIR, this.APP_FILENAME)}`,
]);
}
async synth(...args) {
await this.execute([
'synth',
...args,
`--app="node ${this.appPath}"`,
`--output=${path.join(constants_1.MoonsetConstants.BUILD_TMP_DIR, constants_1.MoonsetConstants.CDK_OUT_DIR, this.APP_FILENAME)}`,
]);
}
async execute(args) {
const command = execa(`${require.resolve('aws-cdk/bin/cdk')}`, args, { stdio: ['ignore', 'pipe', 'pipe'] });
if (command.stdout) {
command.stdout.pipe(process.stdout);
}
if (command.stderr) {
command.stderr.pipe(process.stderr);
}
await command;
}
}
exports.CDKApp = CDKApp;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWV4ZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZGstZXhlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBNkI7QUFDN0IsK0JBQStCO0FBQy9CLHFDQUFvQztBQUNwQywyQ0FBbUQ7QUFFbkQsTUFBYSxNQUFNO0lBR2pCLFlBQW9CLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQWM7UUFDbkMsTUFBTSxVQUFVLEdBQUcsbUJBQVUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN0RCxPQUFPLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFDTCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDakIsUUFBUTtZQUNSLEdBQUc7WUFDSCxHQUFHLElBQUk7WUFDUCxHQUFHLFVBQVU7WUFDYixTQUFTLElBQUksQ0FBQyxJQUFJLENBQ2QsNEJBQUUsQ0FBQyxhQUFhLEVBQUUsNEJBQUUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1NBQzNELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBYztRQUNsQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDakIsT0FBTztZQUNQLEdBQUcsSUFBSTtZQUNQLGVBQWUsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUM5QixZQUFZLElBQUksQ0FBQyxJQUFJLENBQ2pCLDRCQUFFLENBQUMsYUFBYSxFQUFFLDRCQUFFLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRTtTQUMzRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFjO1FBQ2xDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FDakIsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFDdkMsSUFBSSxFQUNKLEVBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBQyxDQUN0QyxDQUFDO1FBRUYsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2xCLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNyQztRQUNELElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNsQixPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDckM7UUFDRCxNQUFNLE9BQU8sQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUE5Q0Qsd0JBOENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGV4ZWNhIGZyb20gJ2V4ZWNhJztcbmltcG9ydCB7UGx1Z2luSG9zdH0gZnJvbSAnLi9wbHVnaW4nO1xuaW1wb3J0IHtNb29uc2V0Q29uc3RhbnRzIGFzIE1DfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBDREtBcHAge1xuICBwcml2YXRlIEFQUF9GSUxFTkFNRTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwUGF0aDogc3RyaW5nKSB7XG4gICAgdGhpcy5BUFBfRklMRU5BTUUgPSBwYXRoLmJhc2VuYW1lKGFwcFBhdGgpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRlcGxveSguLi5hcmdzOiBzdHJpbmdbXSkge1xuICAgIGNvbnN0IGNka1BsdWdpbnMgPSBQbHVnaW5Ib3N0Lmluc3RhbmNlLmNka1BsdWdpbnMubWFwKHAgPT4ge1xuICAgICAgICByZXR1cm4gYC0tcGx1Z2luPSR7cH1gO1xuICAgICAgfSk7XG4gICAgYXdhaXQgdGhpcy5leGVjdXRlKFtcbiAgICAgICdkZXBsb3knLFxuICAgICAgJyonLFxuICAgICAgLi4uYXJncyxcbiAgICAgIC4uLmNka1BsdWdpbnMsXG4gICAgICBgLS1hcHA9JHtwYXRoLmpvaW4oXG4gICAgICAgICAgTUMuQlVJTERfVE1QX0RJUiwgTUMuQ0RLX09VVF9ESVIsIHRoaXMuQVBQX0ZJTEVOQU1FKX1gLFxuICAgIF0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHN5bnRoKC4uLmFyZ3M6IHN0cmluZ1tdKSB7XG4gICAgYXdhaXQgdGhpcy5leGVjdXRlKFtcbiAgICAgICdzeW50aCcsXG4gICAgICAuLi5hcmdzLFxuICAgICAgYC0tYXBwPVwibm9kZSAke3RoaXMuYXBwUGF0aH1cImAsXG4gICAgICBgLS1vdXRwdXQ9JHtwYXRoLmpvaW4oXG4gICAgICAgICAgTUMuQlVJTERfVE1QX0RJUiwgTUMuQ0RLX09VVF9ESVIsIHRoaXMuQVBQX0ZJTEVOQU1FKX1gLFxuICAgIF0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBleGVjdXRlKGFyZ3M6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgY29tbWFuZCA9IGV4ZWNhKFxuICAgICAgICBgJHtyZXF1aXJlLnJlc29sdmUoJ2F3cy1jZGsvYmluL2NkaycpfWAsXG4gICAgICAgIGFyZ3MsXG4gICAgICAgIHtzdGRpbzogWydpZ25vcmUnLCAncGlwZScsICdwaXBlJ119LFxuICAgICk7XG5cbiAgICBpZiAoY29tbWFuZC5zdGRvdXQpIHtcbiAgICAgIGNvbW1hbmQuc3Rkb3V0LnBpcGUocHJvY2Vzcy5zdGRvdXQpO1xuICAgIH1cbiAgICBpZiAoY29tbWFuZC5zdGRlcnIpIHtcbiAgICAgIGNvbW1hbmQuc3RkZXJyLnBpcGUocHJvY2Vzcy5zdGRlcnIpO1xuICAgIH1cbiAgICBhd2FpdCBjb21tYW5kO1xuICB9XG59XG4iXX0=