cdkdx
Version:
Zero-config CLI for aws cdk development
74 lines • 7.63 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.BundleCommand = void 0;
const path_1 = __importDefault(require("path"));
const clipanion_1 = require("clipanion");
const ts_config_1 = require("../ts-config");
const base_command_1 = require("../base-command");
const bundler_1 = require("../bundler");
const cdkdx_config_1 = require("../cdkdx-config");
class BundleCommand extends base_command_1.BaseProjectCommand {
constructor() {
super(...arguments);
this.watch = false;
this.minify = false;
}
async execute() {
const lambdas = new bundler_1.Lambdas(this.projectInfo.lambdasSrcPath);
lambdas.warnings.forEach((warning) => {
this.context.logger.warn(`File ${warning} not found!\n`);
});
// Return 0 if no lambdas were found
if (!lambdas.hasEntries()) {
this.context.logger.log(``);
this.context.logger.info('No lambdas were found to bundle.\n');
return 0;
}
const cdkdxConfig = new cdkdx_config_1.CdkdxConfig(this.projectInfo);
const tsConfig = ts_config_1.TsConfig.fromLambdaTemplate(cdkdxConfig.lambdaTsConfig({
include: ['**/*.ts', '**/*.tsx'],
exclude: ['**/__tests__/*'],
}));
const tsConfigFile = path_1.default.join(this.projectInfo.lambdasSrcPath, 'tsconfig.json');
await tsConfig.writeJson(tsConfigFile, {
overwriteExisting: true,
});
const bundler = new bundler_1.Bundler({
projectInfo: this.projectInfo,
lambdas,
minify: this.minify,
tsConfigFile,
});
this.watch ? bundler.watch() : await bundler.run();
return 0;
}
}
__decorate([
clipanion_1.Command.Boolean('--watch'),
clipanion_1.Command.Boolean('-w'),
__metadata("design:type", Object)
], BundleCommand.prototype, "watch", void 0);
__decorate([
clipanion_1.Command.Boolean('--minify'),
__metadata("design:type", Object)
], BundleCommand.prototype, "minify", void 0);
__decorate([
clipanion_1.Command.Path('bundle'),
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", Promise)
], BundleCommand.prototype, "execute", null);
exports.BundleCommand = BundleCommand;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLWNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvYnVuZGxlLWNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQXdCO0FBQ3hCLHlDQUFvQztBQUVwQyw0Q0FBd0M7QUFDeEMsa0RBQXFEO0FBQ3JELHdDQUE4QztBQUM5QyxrREFBOEM7QUFFOUMsTUFBYSxhQUFjLFNBQVEsaUNBQWtCO0lBQXJEOztRQUdTLFVBQUssR0FBRyxLQUFLLENBQUM7UUFHZCxXQUFNLEdBQUcsS0FBSyxDQUFDO0lBOEN4QixDQUFDO0lBM0NDLEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxPQUFPLEdBQUcsSUFBSSxpQkFBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFN0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxPQUFPLGVBQWUsQ0FBQyxDQUFDO1FBQzNELENBQUMsQ0FBQyxDQUFDO1FBRUgsb0NBQW9DO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQy9ELE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLDBCQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXRELE1BQU0sUUFBUSxHQUFHLG9CQUFRLENBQUMsa0JBQWtCLENBQzFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7WUFDekIsT0FBTyxFQUFFLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQztZQUNoQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztTQUM1QixDQUFDLENBQ0gsQ0FBQztRQUVGLE1BQU0sWUFBWSxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUMvQixlQUFlLENBQ2hCLENBQUM7UUFFRixNQUFNLFFBQVEsQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFO1lBQ3JDLGlCQUFpQixFQUFFLElBQUk7U0FDeEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxPQUFPLEdBQUcsSUFBSSxpQkFBTyxDQUFDO1lBQzFCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixPQUFPO1lBQ1AsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFlBQVk7U0FDYixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRW5ELE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztDQUNGO0FBakRDO0lBRkMsbUJBQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQzFCLG1CQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQzs7NENBQ0Q7QUFHckI7SUFEQyxtQkFBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7OzZDQUNOO0FBR3RCO0lBREMsbUJBQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDOzs7OzRDQTJDdEI7QUFuREgsc0NBb0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY2xpcGFuaW9uJztcblxuaW1wb3J0IHsgVHNDb25maWcgfSBmcm9tICcuLi90cy1jb25maWcnO1xuaW1wb3J0IHsgQmFzZVByb2plY3RDb21tYW5kIH0gZnJvbSAnLi4vYmFzZS1jb21tYW5kJztcbmltcG9ydCB7IEJ1bmRsZXIsIExhbWJkYXMgfSBmcm9tICcuLi9idW5kbGVyJztcbmltcG9ydCB7IENka2R4Q29uZmlnIH0gZnJvbSAnLi4vY2RrZHgtY29uZmlnJztcblxuZXhwb3J0IGNsYXNzIEJ1bmRsZUNvbW1hbmQgZXh0ZW5kcyBCYXNlUHJvamVjdENvbW1hbmQge1xuICBAQ29tbWFuZC5Cb29sZWFuKCctLXdhdGNoJylcbiAgQENvbW1hbmQuQm9vbGVhbignLXcnKVxuICBwdWJsaWMgd2F0Y2ggPSBmYWxzZTtcblxuICBAQ29tbWFuZC5Cb29sZWFuKCctLW1pbmlmeScpXG4gIHB1YmxpYyBtaW5pZnkgPSBmYWxzZTtcblxuICBAQ29tbWFuZC5QYXRoKCdidW5kbGUnKVxuICBhc3luYyBleGVjdXRlKCk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgY29uc3QgbGFtYmRhcyA9IG5ldyBMYW1iZGFzKHRoaXMucHJvamVjdEluZm8ubGFtYmRhc1NyY1BhdGgpO1xuXG4gICAgbGFtYmRhcy53YXJuaW5ncy5mb3JFYWNoKCh3YXJuaW5nKSA9PiB7XG4gICAgICB0aGlzLmNvbnRleHQubG9nZ2VyLndhcm4oYEZpbGUgJHt3YXJuaW5nfSBub3QgZm91bmQhXFxuYCk7XG4gICAgfSk7XG5cbiAgICAvLyBSZXR1cm4gMCBpZiBubyBsYW1iZGFzIHdlcmUgZm91bmRcbiAgICBpZiAoIWxhbWJkYXMuaGFzRW50cmllcygpKSB7XG4gICAgICB0aGlzLmNvbnRleHQubG9nZ2VyLmxvZyhgYCk7XG4gICAgICB0aGlzLmNvbnRleHQubG9nZ2VyLmluZm8oJ05vIGxhbWJkYXMgd2VyZSBmb3VuZCB0byBidW5kbGUuXFxuJyk7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBjb25zdCBjZGtkeENvbmZpZyA9IG5ldyBDZGtkeENvbmZpZyh0aGlzLnByb2plY3RJbmZvKTtcblxuICAgIGNvbnN0IHRzQ29uZmlnID0gVHNDb25maWcuZnJvbUxhbWJkYVRlbXBsYXRlKFxuICAgICAgY2RrZHhDb25maWcubGFtYmRhVHNDb25maWcoe1xuICAgICAgICBpbmNsdWRlOiBbJyoqLyoudHMnLCAnKiovKi50c3gnXSxcbiAgICAgICAgZXhjbHVkZTogWycqKi9fX3Rlc3RzX18vKiddLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIGNvbnN0IHRzQ29uZmlnRmlsZSA9IHBhdGguam9pbihcbiAgICAgIHRoaXMucHJvamVjdEluZm8ubGFtYmRhc1NyY1BhdGgsXG4gICAgICAndHNjb25maWcuanNvbicsXG4gICAgKTtcblxuICAgIGF3YWl0IHRzQ29uZmlnLndyaXRlSnNvbih0c0NvbmZpZ0ZpbGUsIHtcbiAgICAgIG92ZXJ3cml0ZUV4aXN0aW5nOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYnVuZGxlciA9IG5ldyBCdW5kbGVyKHtcbiAgICAgIHByb2plY3RJbmZvOiB0aGlzLnByb2plY3RJbmZvLFxuICAgICAgbGFtYmRhcyxcbiAgICAgIG1pbmlmeTogdGhpcy5taW5pZnksXG4gICAgICB0c0NvbmZpZ0ZpbGUsXG4gICAgfSk7XG5cbiAgICB0aGlzLndhdGNoID8gYnVuZGxlci53YXRjaCgpIDogYXdhaXQgYnVuZGxlci5ydW4oKTtcblxuICAgIHJldHVybiAwO1xuICB9XG59XG4iXX0=