UNPKG

aws-cdk

Version:

AWS CDK CLI, the command line tool for CDK apps

34 lines 4.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.execNpmView = execNpmView; const child_process_1 = require("child_process"); const util_1 = require("util"); const api_1 = require("../../../../@aws-cdk/tmp-toolkit-helpers/src/api"); const exec = (0, util_1.promisify)(child_process_1.exec); /* c8 ignore start */ async function execNpmView(currentVersion) { try { // eslint-disable-next-line @cdklabs/promiseall-no-unbounded-parallelism const [latestResult, currentResult] = await Promise.all([ exec('npm view aws-cdk@latest version', { timeout: 3000 }), exec(`npm view aws-cdk@${currentVersion} name version deprecated --json`, { timeout: 3000 }), ]); if (latestResult.stderr && latestResult.stderr.trim().length > 0) { throw new api_1.ToolkitError(`npm view command for latest version failed: ${latestResult.stderr.trim()}`); } if (currentResult.stderr && currentResult.stderr.trim().length > 0) { throw new api_1.ToolkitError(`npm view command for current version failed: ${currentResult.stderr.trim()}`); } const latestVersion = latestResult.stdout; const currentInfo = JSON.parse(currentResult.stdout); return { latestVersion: latestVersion, deprecated: currentInfo.deprecated, }; } catch (err) { throw err; } } /* c8 ignore stop */ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibnBtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBT0Esa0NBeUJDO0FBaENELGlEQUE4QztBQUM5QywrQkFBaUM7QUFDakMsMEVBQWdGO0FBRWhGLE1BQU0sSUFBSSxHQUFHLElBQUEsZ0JBQVMsRUFBQyxvQkFBSyxDQUFDLENBQUM7QUFFOUIscUJBQXFCO0FBQ2QsS0FBSyxVQUFVLFdBQVcsQ0FBQyxjQUFzQjtJQUN0RCxJQUFJLENBQUM7UUFDSCx3RUFBd0U7UUFDeEUsTUFBTSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDdEQsSUFBSSxDQUFDLGlDQUFpQyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxvQkFBb0IsY0FBYyxpQ0FBaUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUM3RixDQUFDLENBQUM7UUFFSCxJQUFJLFlBQVksQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDakUsTUFBTSxJQUFJLGtCQUFZLENBQUMsK0NBQStDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RHLENBQUM7UUFDRCxJQUFJLGFBQWEsQ0FBQyxNQUFNLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbkUsTUFBTSxJQUFJLGtCQUFZLENBQUMsZ0RBQWdELGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3hHLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDO1FBQzFDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXJELE9BQU87WUFDTCxhQUFhLEVBQUUsYUFBYTtZQUM1QixVQUFVLEVBQUUsV0FBVyxDQUFDLFVBQVU7U0FDbkMsQ0FBQztJQUNKLENBQUM7SUFBQyxPQUFPLEdBQVksRUFBRSxDQUFDO1FBQ3RCLE1BQU0sR0FBRyxDQUFDO0lBQ1osQ0FBQztBQUNILENBQUM7QUFDRCxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGVjIGFzIF9leGVjIH0gZnJvbSAnY2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tICd1dGlsJztcbmltcG9ydCB7IFRvb2xraXRFcnJvciB9IGZyb20gJy4uLy4uLy4uLy4uL0Bhd3MtY2RrL3RtcC10b29sa2l0LWhlbHBlcnMvc3JjL2FwaSc7XG5cbmNvbnN0IGV4ZWMgPSBwcm9taXNpZnkoX2V4ZWMpO1xuXG4vKiBjOCBpZ25vcmUgc3RhcnQgKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBleGVjTnBtVmlldyhjdXJyZW50VmVyc2lvbjogc3RyaW5nKSB7XG4gIHRyeSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBjZGtsYWJzL3Byb21pc2VhbGwtbm8tdW5ib3VuZGVkLXBhcmFsbGVsaXNtXG4gICAgY29uc3QgW2xhdGVzdFJlc3VsdCwgY3VycmVudFJlc3VsdF0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICBleGVjKCducG0gdmlldyBhd3MtY2RrQGxhdGVzdCB2ZXJzaW9uJywgeyB0aW1lb3V0OiAzMDAwIH0pLFxuICAgICAgZXhlYyhgbnBtIHZpZXcgYXdzLWNka0Ake2N1cnJlbnRWZXJzaW9ufSBuYW1lIHZlcnNpb24gZGVwcmVjYXRlZCAtLWpzb25gLCB7IHRpbWVvdXQ6IDMwMDAgfSksXG4gICAgXSk7XG5cbiAgICBpZiAobGF0ZXN0UmVzdWx0LnN0ZGVyciAmJiBsYXRlc3RSZXN1bHQuc3RkZXJyLnRyaW0oKS5sZW5ndGggPiAwKSB7XG4gICAgICB0aHJvdyBuZXcgVG9vbGtpdEVycm9yKGBucG0gdmlldyBjb21tYW5kIGZvciBsYXRlc3QgdmVyc2lvbiBmYWlsZWQ6ICR7bGF0ZXN0UmVzdWx0LnN0ZGVyci50cmltKCl9YCk7XG4gICAgfVxuICAgIGlmIChjdXJyZW50UmVzdWx0LnN0ZGVyciAmJiBjdXJyZW50UmVzdWx0LnN0ZGVyci50cmltKCkubGVuZ3RoID4gMCkge1xuICAgICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcihgbnBtIHZpZXcgY29tbWFuZCBmb3IgY3VycmVudCB2ZXJzaW9uIGZhaWxlZDogJHtjdXJyZW50UmVzdWx0LnN0ZGVyci50cmltKCl9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgbGF0ZXN0VmVyc2lvbiA9IGxhdGVzdFJlc3VsdC5zdGRvdXQ7XG4gICAgY29uc3QgY3VycmVudEluZm8gPSBKU09OLnBhcnNlKGN1cnJlbnRSZXN1bHQuc3Rkb3V0KTtcblxuICAgIHJldHVybiB7XG4gICAgICBsYXRlc3RWZXJzaW9uOiBsYXRlc3RWZXJzaW9uLFxuICAgICAgZGVwcmVjYXRlZDogY3VycmVudEluZm8uZGVwcmVjYXRlZCxcbiAgICB9O1xuICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICB0aHJvdyBlcnI7XG4gIH1cbn1cbi8qIGM4IGlnbm9yZSBzdG9wICovXG4iXX0=