aws-cdk
Version:
AWS CDK CLI, the command line tool for CDK apps
22 lines • 3.12 kB
JavaScript
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==
;