UNPKG

aws-cdk

Version:

AWS CDK CLI, the command line tool for CDK apps

22 lines 3.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getLatestVersionFromNpm = getLatestVersionFromNpm; const child_process_1 = require("child_process"); const util_1 = require("util"); const semver = require("semver"); const api_1 = require("../../../../@aws-cdk/tmp-toolkit-helpers/src/api"); const logging_1 = require("../../logging"); const exec = (0, util_1.promisify)(child_process_1.exec); /* istanbul ignore next: not called during unit tests */ async function getLatestVersionFromNpm() { const { stdout, stderr } = await exec('npm view aws-cdk version', { timeout: 3000 }); if (stderr && stderr.trim().length > 0) { (0, logging_1.debug)(`The 'npm view' command generated an error stream with content [${stderr.trim()}]`); } const latestVersion = stdout.trim(); if (!semver.valid(latestVersion)) { throw new api_1.ToolkitError(`npm returned an invalid semver ${latestVersion}`); } return latestVersion; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibnBtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBU0EsMERBV0M7QUFwQkQsaURBQThDO0FBQzlDLCtCQUFpQztBQUNqQyxpQ0FBaUM7QUFDakMsMEVBQWdGO0FBQ2hGLDJDQUFzQztBQUV0QyxNQUFNLElBQUksR0FBRyxJQUFBLGdCQUFTLEVBQUMsb0JBQUssQ0FBQyxDQUFDO0FBRTlCLHdEQUF3RDtBQUNqRCxLQUFLLFVBQVUsdUJBQXVCO0lBQzNDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsMEJBQTBCLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNyRixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3ZDLElBQUEsZUFBSyxFQUFDLGtFQUFrRSxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFDRCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxNQUFNLElBQUksa0JBQVksQ0FBQyxrQ0FBa0MsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsT0FBTyxhQUFhLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWMgYXMgX2V4ZWMgfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCB7IHByb21pc2lmeSB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gJ3NlbXZlcic7XG5pbXBvcnQgeyBUb29sa2l0RXJyb3IgfSBmcm9tICcuLi8uLi8uLi8uLi9AYXdzLWNkay90bXAtdG9vbGtpdC1oZWxwZXJzL3NyYy9hcGknO1xuaW1wb3J0IHsgZGVidWcgfSBmcm9tICcuLi8uLi9sb2dnaW5nJztcblxuY29uc3QgZXhlYyA9IHByb21pc2lmeShfZXhlYyk7XG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBub3QgY2FsbGVkIGR1cmluZyB1bml0IHRlc3RzICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0TGF0ZXN0VmVyc2lvbkZyb21OcG0oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgeyBzdGRvdXQsIHN0ZGVyciB9ID0gYXdhaXQgZXhlYygnbnBtIHZpZXcgYXdzLWNkayB2ZXJzaW9uJywgeyB0aW1lb3V0OiAzMDAwIH0pO1xuICBpZiAoc3RkZXJyICYmIHN0ZGVyci50cmltKCkubGVuZ3RoID4gMCkge1xuICAgIGRlYnVnKGBUaGUgJ25wbSB2aWV3JyBjb21tYW5kIGdlbmVyYXRlZCBhbiBlcnJvciBzdHJlYW0gd2l0aCBjb250ZW50IFske3N0ZGVyci50cmltKCl9XWApO1xuICB9XG4gIGNvbnN0IGxhdGVzdFZlcnNpb24gPSBzdGRvdXQudHJpbSgpO1xuICBpZiAoIXNlbXZlci52YWxpZChsYXRlc3RWZXJzaW9uKSkge1xuICAgIHRocm93IG5ldyBUb29sa2l0RXJyb3IoYG5wbSByZXR1cm5lZCBhbiBpbnZhbGlkIHNlbXZlciAke2xhdGVzdFZlcnNpb259YCk7XG4gIH1cblxuICByZXR1cm4gbGF0ZXN0VmVyc2lvbjtcbn1cbiJdfQ==