Path: blob/main/components/gitpod-protocol/scripts/publish.js
2498 views
/**1* Copyright (c) 2020 Gitpod GmbH. All rights reserved.2* Licensed under the GNU Affero General Public License (AGPL).3* See License.AGPL.txt in the project root for license information.4*/56// @ts-check78const fs = require("fs");9const path = require("path");10const child_process = require("child_process");11const qualifier = process.argv[2];1213const rootDir = process.cwd();14const pckDir = path.join(rootDir, process.argv[3]);1516if (process.env.DO_PUBLISH === "false") {17console.warn("Skipping publishing per request.");18process.exit(0);19}2021if (process.env.NPM_AUTH_TOKEN) {22fs.writeFileSync(23path.join(pckDir, ".npmrc"),24`//registry.npmjs.org/:_authToken=${process.env.NPM_AUTH_TOKEN}\n`,25"utf-8",26);27} else {28console.warn("NPM_AUTH_TOKEN env variable is not set");29}3031const pck = JSON.parse(fs.readFileSync(path.join(pckDir, "package.json"), "utf-8"));32pck.version = `${pck.version}-${qualifier}`;33fs.writeFileSync(path.join(pckDir, "package.json"), JSON.stringify(pck, undefined, 2), "utf-8");3435const tag = qualifier.substr(0, qualifier.lastIndexOf("."));3637child_process.execSync(38[39"yarn",40"--cwd",41pckDir,42"publish",43"--tag",44tag,45"--access",46"public",47"--ignore-scripts",48"--network-timeout",49"300000",50].join(" "),51{ stdio: "inherit" },52);535455