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