UNPKG

cdkdx

Version:

Zero-config CLI for aws cdk development

109 lines (108 loc) 10.6 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); 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 __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; 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.ReleaseCommand = void 0; const path = __importStar(require("path")); const clipanion_1 = require("clipanion"); const execa_1 = __importDefault(require("execa")); const base_command_1 = require("../base-command"); const timer_1 = require("../timer"); class ReleaseCommand extends base_command_1.BaseProjectCommand { async execute() { if (this.projectInfo.private) { this.context.logger.warn('No releasing for private modules.\n'); return 0; } const timer = new timer_1.Timer(); const [command, args] = (() => { switch (this.type) { case 'npm': if (!process.env.NPM_TOKEN) { throw new Error('NPM_TOKEN is required'); } return [ require.resolve('jsii-release/bin/jsii-release-npm'), [path.join(this.projectInfo.distPath, 'js')], ]; case 'pypi': if (!process.env.TWINE_USERNAME) { process.env.TWINE_USERNAME = '__token__'; } if (!process.env.TWINE_PASSWORD) { throw new Error('TWINE_PASSWORD is required'); } return [ require.resolve('jsii-release/bin/jsii-release-pypi'), [path.join(this.projectInfo.distPath, 'python')], ]; default: throw new Error(`Invalid release type: ${this.type}`); } })(); await this.cli.run(['package']); await (0, execa_1.default)(command, args, { stdio: ['ignore', 'inherit', 'inherit'], }); timer.end(); this.context.logger.log(``); this.context.logger.done(`Project ${this.projectInfo.name} released in ${timer.display()}.\n`); return 0; } } ReleaseCommand.usage = clipanion_1.Command.Usage({ description: 'Release the project', details: ` This command releases the project to npm or pypi. It is checked whether the package version is not yet registered. If the version is not in the registry, it will be released. Otherwise the process will be ignored. `, examples: [ ['Release to npm', 'cdkdx release npm'], ['Release to pypi', 'cdkdx release pypi'], ], }); __decorate([ clipanion_1.Command.String({ required: true }), __metadata("design:type", String) ], ReleaseCommand.prototype, "type", void 0); __decorate([ clipanion_1.Command.Path('release'), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise) ], ReleaseCommand.prototype, "execute", null); exports.ReleaseCommand = ReleaseCommand; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsZWFzZS1jb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3JlbGVhc2UtY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUE2QjtBQUM3Qix5Q0FBb0M7QUFDcEMsa0RBQTBCO0FBRTFCLGtEQUFxRDtBQUNyRCxvQ0FBaUM7QUFFakMsTUFBYSxjQUFlLFNBQVEsaUNBQWtCO0lBa0JwRCxLQUFLLENBQUMsT0FBTztRQUNYLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUU7WUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHFDQUFxQyxDQUFDLENBQUM7WUFDaEUsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksYUFBSyxFQUFFLENBQUM7UUFFMUIsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQXVCLEVBQUU7WUFDaEQsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNqQixLQUFLLEtBQUs7b0JBQ1IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFO3dCQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7cUJBQzFDO29CQUVELE9BQU87d0JBQ0wsT0FBTyxDQUFDLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQzt3QkFDcEQsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO3FCQUM3QyxDQUFDO2dCQUNKLEtBQUssTUFBTTtvQkFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUU7d0JBQy9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxHQUFHLFdBQVcsQ0FBQztxQkFDMUM7b0JBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFO3dCQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7cUJBQy9DO29CQUVELE9BQU87d0JBQ0wsT0FBTyxDQUFDLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQzt3QkFDckQsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO3FCQUNqRCxDQUFDO2dCQUNKO29CQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQ3pEO1FBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVMLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBRWhDLE1BQU0sSUFBQSxlQUFLLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN6QixLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQztTQUN4QyxDQUFDLENBQUM7UUFFSCxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFWixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUN0QixXQUFXLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxnQkFBZ0IsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQ3JFLENBQUM7UUFFRixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7O0FBcEVNLG9CQUFLLEdBQUcsbUJBQU8sQ0FBQyxLQUFLLENBQUM7SUFDM0IsV0FBVyxFQUFFLHFCQUFxQjtJQUNsQyxPQUFPLEVBQUU7Ozs7S0FJUjtJQUNELFFBQVEsRUFBRTtRQUNSLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUM7UUFDdkMsQ0FBQyxpQkFBaUIsRUFBRSxvQkFBb0IsQ0FBQztLQUMxQztDQUNGLENBQUMsQ0FBQztBQUdIO0lBREMsbUJBQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7OzRDQUNOO0FBRzdCO0lBREMsbUJBQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDOzs7OzZDQW9EdkI7QUFyRUgsd0NBc0VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjbGlwYW5pb24nO1xuaW1wb3J0IGV4ZWNhIGZyb20gJ2V4ZWNhJztcblxuaW1wb3J0IHsgQmFzZVByb2plY3RDb21tYW5kIH0gZnJvbSAnLi4vYmFzZS1jb21tYW5kJztcbmltcG9ydCB7IFRpbWVyIH0gZnJvbSAnLi4vdGltZXInO1xuXG5leHBvcnQgY2xhc3MgUmVsZWFzZUNvbW1hbmQgZXh0ZW5kcyBCYXNlUHJvamVjdENvbW1hbmQge1xuICBzdGF0aWMgdXNhZ2UgPSBDb21tYW5kLlVzYWdlKHtcbiAgICBkZXNjcmlwdGlvbjogJ1JlbGVhc2UgdGhlIHByb2plY3QnLFxuICAgIGRldGFpbHM6IGBcbiAgICAgIFRoaXMgY29tbWFuZCByZWxlYXNlcyB0aGUgcHJvamVjdCB0byBucG0gb3IgcHlwaS5cblxuICAgICAgSXQgaXMgY2hlY2tlZCB3aGV0aGVyIHRoZSBwYWNrYWdlIHZlcnNpb24gaXMgbm90IHlldCByZWdpc3RlcmVkLiBJZiB0aGUgdmVyc2lvbiBpcyBub3QgaW4gdGhlIHJlZ2lzdHJ5LCBpdCB3aWxsIGJlIHJlbGVhc2VkLiBPdGhlcndpc2UgdGhlIHByb2Nlc3Mgd2lsbCBiZSBpZ25vcmVkLlxuICAgIGAsXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgIFsnUmVsZWFzZSB0byBucG0nLCAnY2RrZHggcmVsZWFzZSBucG0nXSxcbiAgICAgIFsnUmVsZWFzZSB0byBweXBpJywgJ2Nka2R4IHJlbGVhc2UgcHlwaSddLFxuICAgIF0sXG4gIH0pO1xuXG4gIEBDb21tYW5kLlN0cmluZyh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIHB1YmxpYyB0eXBlITogJ25wbScgfCAncHlwaSc7XG5cbiAgQENvbW1hbmQuUGF0aCgncmVsZWFzZScpXG4gIGFzeW5jIGV4ZWN1dGUoKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBpZiAodGhpcy5wcm9qZWN0SW5mby5wcml2YXRlKSB7XG4gICAgICB0aGlzLmNvbnRleHQubG9nZ2VyLndhcm4oJ05vIHJlbGVhc2luZyBmb3IgcHJpdmF0ZSBtb2R1bGVzLlxcbicpO1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgY29uc3QgdGltZXIgPSBuZXcgVGltZXIoKTtcblxuICAgIGNvbnN0IFtjb21tYW5kLCBhcmdzXSA9ICgoKTogW3N0cmluZywgc3RyaW5nW11dID0+IHtcbiAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgIGNhc2UgJ25wbSc6XG4gICAgICAgICAgaWYgKCFwcm9jZXNzLmVudi5OUE1fVE9LRU4pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTlBNX1RPS0VOIGlzIHJlcXVpcmVkJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHJlcXVpcmUucmVzb2x2ZSgnanNpaS1yZWxlYXNlL2Jpbi9qc2lpLXJlbGVhc2UtbnBtJyksXG4gICAgICAgICAgICBbcGF0aC5qb2luKHRoaXMucHJvamVjdEluZm8uZGlzdFBhdGgsICdqcycpXSxcbiAgICAgICAgICBdO1xuICAgICAgICBjYXNlICdweXBpJzpcbiAgICAgICAgICBpZiAoIXByb2Nlc3MuZW52LlRXSU5FX1VTRVJOQU1FKSB7XG4gICAgICAgICAgICBwcm9jZXNzLmVudi5UV0lORV9VU0VSTkFNRSA9ICdfX3Rva2VuX18nO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghcHJvY2Vzcy5lbnYuVFdJTkVfUEFTU1dPUkQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVFdJTkVfUEFTU1dPUkQgaXMgcmVxdWlyZWQnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgcmVxdWlyZS5yZXNvbHZlKCdqc2lpLXJlbGVhc2UvYmluL2pzaWktcmVsZWFzZS1weXBpJyksXG4gICAgICAgICAgICBbcGF0aC5qb2luKHRoaXMucHJvamVjdEluZm8uZGlzdFBhdGgsICdweXRob24nKV0sXG4gICAgICAgICAgXTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcmVsZWFzZSB0eXBlOiAke3RoaXMudHlwZX1gKTtcbiAgICAgIH1cbiAgICB9KSgpO1xuXG4gICAgYXdhaXQgdGhpcy5jbGkucnVuKFsncGFja2FnZSddKTtcblxuICAgIGF3YWl0IGV4ZWNhKGNvbW1hbmQsIGFyZ3MsIHtcbiAgICAgIHN0ZGlvOiBbJ2lnbm9yZScsICdpbmhlcml0JywgJ2luaGVyaXQnXSxcbiAgICB9KTtcblxuICAgIHRpbWVyLmVuZCgpO1xuXG4gICAgdGhpcy5jb250ZXh0LmxvZ2dlci5sb2coYGApO1xuICAgIHRoaXMuY29udGV4dC5sb2dnZXIuZG9uZShcbiAgICAgIGBQcm9qZWN0ICR7dGhpcy5wcm9qZWN0SW5mby5uYW1lfSByZWxlYXNlZCBpbiAke3RpbWVyLmRpc3BsYXkoKX0uXFxuYCxcbiAgICApO1xuXG4gICAgcmV0dXJuIDA7XG4gIH1cbn1cbiJdfQ==