jsii-release
Version:
Release jsii modules to multiple package managers
84 lines • 9.55 kB
JavaScript
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 __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;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.uploadNpmPackages = exports.npmLogin = void 0;
/* eslint-disable no-console */
const path = __importStar(require("path"));
const parallel_shell_1 = require("./parallel-shell");
const display_1 = require("../display");
const files_1 = require("../files");
const shell_1 = require("../shell");
async function npmLogin(login, usageDir) {
// Creating an ~/.npmrc that references an envvar is what you're supposed to do. (https://docs.npmjs.com/private-modules/ci-server-config)
await writeNpmLoginToken(usageDir, login.npmEndpoint, '${NPM_TOKEN}');
// Add variables to env file
await usageDir.addToEnv(npmEnv(usageDir, login));
}
exports.npmLogin = npmLogin;
function npmEnv(usageDir, login) {
return {
npm_config_userconfig: path.join(usageDir.directory, '.npmrc'),
npm_config_registry: login.npmEndpoint,
npm_config_always_auth: 'true',
NPM_TOKEN: login.authToken,
};
}
async function uploadNpmPackages(packages, login, usageDir) {
if (packages.length === 0) {
return;
}
(0, display_1.header)('NPM');
await (0, parallel_shell_1.parallelShell)(packages, async (pkg, output) => {
console.log(`⏳ ${pkg}`);
// path.resolve() is required -- if the filename ends up looking like `js/bla.tgz` then NPM thinks it's a short form GitHub name.
await (0, shell_1.shell)(['npm', 'publish', path.resolve(pkg)], {
modEnv: npmEnv(usageDir, login),
show: 'error',
output,
});
console.log(`✅ ${pkg}`);
}, (pkg, output) => {
if (output.toString().includes('code EPUBLISHCONFLICT')) {
console.log(`❌ ${pkg}: already exists. Skipped.`);
return 'skip';
}
if (output.toString().includes('code EPRIVATE')) {
console.log(`❌ ${pkg}: is private. Skipped.`);
return 'skip';
}
return 'fail';
});
}
exports.uploadNpmPackages = uploadNpmPackages;
async function writeNpmLoginToken(usageDir, endpoint, token) {
const rcFile = path.join(usageDir.directory, '.npmrc');
const lines = await (0, files_1.loadLines)(rcFile);
const key = `${endpoint.replace(/^https:/, '')}:_authToken`;
(0, files_1.updateIniKey)(lines, key, token);
await (0, files_1.writeLines)(rcFile, lines);
return rcFile;
}
// Environment variable, .npmrc in same directory as package.json or in home dir
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvZGVhcnRpZmFjdC9zdGFnaW5nL25wbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUMvQiwyQ0FBNkI7QUFDN0IscURBQWlEO0FBRWpELHdDQUFvQztBQUNwQyxvQ0FBK0Q7QUFDL0Qsb0NBQWlDO0FBRzFCLEtBQUssVUFBVSxRQUFRLENBQUMsS0FBdUIsRUFBRSxRQUFrQjtJQUN4RSwwSUFBMEk7SUFDMUksTUFBTSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUV0RSw0QkFBNEI7SUFDNUIsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBTkQsNEJBTUM7QUFFRCxTQUFTLE1BQU0sQ0FBQyxRQUFrQixFQUFFLEtBQXVCO0lBQ3pELE9BQU87UUFDTCxxQkFBcUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDO1FBQzlELG1CQUFtQixFQUFFLEtBQUssQ0FBQyxXQUFXO1FBQ3RDLHNCQUFzQixFQUFFLE1BQU07UUFDOUIsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTO0tBQzNCLENBQUM7QUFDSixDQUFDO0FBRU0sS0FBSyxVQUFVLGlCQUFpQixDQUFDLFFBQWtCLEVBQUUsS0FBdUIsRUFBRSxRQUFrQjtJQUNyRyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3pCLE9BQU87S0FDUjtJQUVELElBQUEsZ0JBQU0sRUFBQyxLQUFLLENBQUMsQ0FBQztJQUNkLE1BQU0sSUFBQSw4QkFBYSxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ2xELE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBRXhCLGlJQUFpSTtRQUNqSSxNQUFNLElBQUEsYUFBSyxFQUFDLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDakQsTUFBTSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDO1lBQy9CLElBQUksRUFBRSxPQUFPO1lBQ2IsTUFBTTtTQUNQLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFCLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNqQixJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsRUFBRTtZQUN2RCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyw0QkFBNEIsQ0FBQyxDQUFDO1lBQ2xELE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFDRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDL0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsd0JBQXdCLENBQUMsQ0FBQztZQUM5QyxPQUFPLE1BQU0sQ0FBQztTQUNmO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBNUJELDhDQTRCQztBQUVELEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxRQUFrQixFQUFFLFFBQWdCLEVBQUUsS0FBYTtJQUNuRixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFBLGlCQUFTLEVBQUMsTUFBTSxDQUFDLENBQUM7SUFFdEMsTUFBTSxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQzVELElBQUEsb0JBQVksRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRWhDLE1BQU0sSUFBQSxrQkFBVSxFQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoQyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsZ0ZBQWdGIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IHBhcmFsbGVsU2hlbGwgfSBmcm9tICcuL3BhcmFsbGVsLXNoZWxsJztcbmltcG9ydCB7IExvZ2luSW5mb3JtYXRpb24gfSBmcm9tICcuLi9jb2RlYXJ0aWZhY3QtcmVwbyc7XG5pbXBvcnQgeyBoZWFkZXIgfSBmcm9tICcuLi9kaXNwbGF5JztcbmltcG9ydCB7IHVwZGF0ZUluaUtleSwgbG9hZExpbmVzLCB3cml0ZUxpbmVzIH0gZnJvbSAnLi4vZmlsZXMnO1xuaW1wb3J0IHsgc2hlbGwgfSBmcm9tICcuLi9zaGVsbCc7XG5pbXBvcnQgeyBVc2FnZURpciB9IGZyb20gJy4uL3VzYWdlLWRpcic7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBucG1Mb2dpbihsb2dpbjogTG9naW5JbmZvcm1hdGlvbiwgdXNhZ2VEaXI6IFVzYWdlRGlyKSB7XG4gIC8vIENyZWF0aW5nIGFuIH4vLm5wbXJjIHRoYXQgcmVmZXJlbmNlcyBhbiBlbnZ2YXIgaXMgd2hhdCB5b3UncmUgc3VwcG9zZWQgdG8gZG8uIChodHRwczovL2RvY3MubnBtanMuY29tL3ByaXZhdGUtbW9kdWxlcy9jaS1zZXJ2ZXItY29uZmlnKVxuICBhd2FpdCB3cml0ZU5wbUxvZ2luVG9rZW4odXNhZ2VEaXIsIGxvZ2luLm5wbUVuZHBvaW50LCAnJHtOUE1fVE9LRU59Jyk7XG5cbiAgLy8gQWRkIHZhcmlhYmxlcyB0byBlbnYgZmlsZVxuICBhd2FpdCB1c2FnZURpci5hZGRUb0VudihucG1FbnYodXNhZ2VEaXIsIGxvZ2luKSk7XG59XG5cbmZ1bmN0aW9uIG5wbUVudih1c2FnZURpcjogVXNhZ2VEaXIsIGxvZ2luOiBMb2dpbkluZm9ybWF0aW9uKSB7XG4gIHJldHVybiB7XG4gICAgbnBtX2NvbmZpZ191c2VyY29uZmlnOiBwYXRoLmpvaW4odXNhZ2VEaXIuZGlyZWN0b3J5LCAnLm5wbXJjJyksXG4gICAgbnBtX2NvbmZpZ19yZWdpc3RyeTogbG9naW4ubnBtRW5kcG9pbnQsXG4gICAgbnBtX2NvbmZpZ19hbHdheXNfYXV0aDogJ3RydWUnLCAvLyBOZWNlc3NhcnkgZm9yIE5QTSA2LCBvdGhlcndpc2UgaXQgd2lsbCBzb21ldGltZXMgbm90IHBhc3MgdGhlIHRva2VuXG4gICAgTlBNX1RPS0VOOiBsb2dpbi5hdXRoVG9rZW4sXG4gIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB1cGxvYWROcG1QYWNrYWdlcyhwYWNrYWdlczogc3RyaW5nW10sIGxvZ2luOiBMb2dpbkluZm9ybWF0aW9uLCB1c2FnZURpcjogVXNhZ2VEaXIpIHtcbiAgaWYgKHBhY2thZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGhlYWRlcignTlBNJyk7XG4gIGF3YWl0IHBhcmFsbGVsU2hlbGwocGFja2FnZXMsIGFzeW5jIChwa2csIG91dHB1dCkgPT4ge1xuICAgIGNvbnNvbGUubG9nKGDij7MgJHtwa2d9YCk7XG5cbiAgICAvLyBwYXRoLnJlc29sdmUoKSBpcyByZXF1aXJlZCAtLSBpZiB0aGUgZmlsZW5hbWUgZW5kcyB1cCBsb29raW5nIGxpa2UgYGpzL2JsYS50Z3pgIHRoZW4gTlBNIHRoaW5rcyBpdCdzIGEgc2hvcnQgZm9ybSBHaXRIdWIgbmFtZS5cbiAgICBhd2FpdCBzaGVsbChbJ25wbScsICdwdWJsaXNoJywgcGF0aC5yZXNvbHZlKHBrZyldLCB7XG4gICAgICBtb2RFbnY6IG5wbUVudih1c2FnZURpciwgbG9naW4pLFxuICAgICAgc2hvdzogJ2Vycm9yJyxcbiAgICAgIG91dHB1dCxcbiAgICB9KTtcblxuICAgIGNvbnNvbGUubG9nKGDinIUgJHtwa2d9YCk7XG4gIH0sIChwa2csIG91dHB1dCkgPT4ge1xuICAgIGlmIChvdXRwdXQudG9TdHJpbmcoKS5pbmNsdWRlcygnY29kZSBFUFVCTElTSENPTkZMSUNUJykpIHtcbiAgICAgIGNvbnNvbGUubG9nKGDinYwgJHtwa2d9OiBhbHJlYWR5IGV4aXN0cy4gU2tpcHBlZC5gKTtcbiAgICAgIHJldHVybiAnc2tpcCc7XG4gICAgfVxuICAgIGlmIChvdXRwdXQudG9TdHJpbmcoKS5pbmNsdWRlcygnY29kZSBFUFJJVkFURScpKSB7XG4gICAgICBjb25zb2xlLmxvZyhg4p2MICR7cGtnfTogaXMgcHJpdmF0ZS4gU2tpcHBlZC5gKTtcbiAgICAgIHJldHVybiAnc2tpcCc7XG4gICAgfVxuICAgIHJldHVybiAnZmFpbCc7XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiB3cml0ZU5wbUxvZ2luVG9rZW4odXNhZ2VEaXI6IFVzYWdlRGlyLCBlbmRwb2ludDogc3RyaW5nLCB0b2tlbjogc3RyaW5nKSB7XG4gIGNvbnN0IHJjRmlsZSA9IHBhdGguam9pbih1c2FnZURpci5kaXJlY3RvcnksICcubnBtcmMnKTtcbiAgY29uc3QgbGluZXMgPSBhd2FpdCBsb2FkTGluZXMocmNGaWxlKTtcblxuICBjb25zdCBrZXkgPSBgJHtlbmRwb2ludC5yZXBsYWNlKC9eaHR0cHM6LywgJycpfTpfYXV0aFRva2VuYDtcbiAgdXBkYXRlSW5pS2V5KGxpbmVzLCBrZXksIHRva2VuKTtcblxuICBhd2FpdCB3cml0ZUxpbmVzKHJjRmlsZSwgbGluZXMpO1xuICByZXR1cm4gcmNGaWxlO1xufVxuXG4vLyBFbnZpcm9ubWVudCB2YXJpYWJsZSwgLm5wbXJjIGluIHNhbWUgZGlyZWN0b3J5IGFzIHBhY2thZ2UuanNvbiBvciBpbiBob21lIGRpciJdfQ==
;