@suin/semantic-release-yarn
Version:
semantic-release plugin to publish a npm package with yarn@berry
100 lines • 6.26 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Yarn = void 0;
const execa_1 = __importDefault(require("execa"));
class Yarn {
#HOME;
#YARN_RC_FILENAME;
#cwd;
constructor({ HOME, YARN_RC_FILENAME, cwd, } = {}) {
this.#HOME = HOME;
this.#YARN_RC_FILENAME = YARN_RC_FILENAME;
this.#cwd = cwd;
}
async setNpmRegistryServer(registryServer) {
await this.#exec("yarn", [
"config",
"set",
"npmRegistryServer",
registryServer,
"--home",
]);
}
async getNpmRegistryServer() {
return JSON.parse((await this.#exec("yarn", [
"config",
"get",
"npmRegistryServer",
"--json",
])).stdout);
}
async setNpmAuthToken(npmAuthToken) {
await this.#exec("yarn", [
"config",
"set",
"npmAuthToken",
npmAuthToken,
"--home",
]);
}
async getNpmAuthToken() {
return JSON.parse((await this.#exec("yarn", [
"config",
"get",
"npmAuthToken",
"--json",
"--no-redacted",
])).stdout);
}
async authenticated() {
try {
await this.#exec("yarn", ["npm", "whoami"]);
return true;
}
catch (e) {
return false;
}
}
async install() {
await this.#exec("yarn", ["install"]);
}
async pluginImportVersion() {
await this.#exec("yarn", ["plugin", "import", "version"]);
}
async version(version) {
await this.#exec("yarn", ["version", version]);
}
async packDryRun() {
const jsonld = (await this.#exec("yarn", ["pack", "--dry-run", "--json"]))
.stdout;
return jsonld
.split("\n")
.map((line) => JSON.parse(line))
.flatMap((line) => ("location" in line ? [line.location] : []))
.sort();
}
async pack(filename = "package.tgz") {
await this.#exec("yarn", ["pack", "-o", filename]);
}
async publish(tag) {
await this.#exec("yarn", [
"npm",
"publish",
...(tag ? ["--tag", tag] : []),
]);
}
async #exec(file, args) {
return (0, execa_1.default)(file, args, {
...(this.#cwd && { cwd: this.#cwd }),
env: {
HOME: this.#HOME,
YARN_RC_FILENAME: this.#YARN_RC_FILENAME,
},
});
}
}
exports.Yarn = Yarn;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFybi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInlhcm4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQTBCO0FBRTFCLE1BQWEsSUFBSTtJQUNOLEtBQUssQ0FBc0I7SUFDM0IsaUJBQWlCLENBQXNCO0lBQ3ZDLElBQUksQ0FBc0I7SUFFbkMsWUFBWSxFQUNWLElBQUksRUFDSixnQkFBZ0IsRUFDaEIsR0FBRyxNQUtELEVBQUU7UUFDSixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUM7UUFDMUMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxjQUFzQjtRQUMvQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ3ZCLFFBQVE7WUFDUixLQUFLO1lBQ0wsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxRQUFRO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUNmLENBQ0UsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUN2QixRQUFRO1lBQ1IsS0FBSztZQUNMLG1CQUFtQjtZQUNuQixRQUFRO1NBQ1QsQ0FBQyxDQUNILENBQUMsTUFBTSxDQUNULENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxZQUFvQjtRQUN4QyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ3ZCLFFBQVE7WUFDUixLQUFLO1lBQ0wsY0FBYztZQUNkLFlBQVk7WUFDWixRQUFRO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxlQUFlO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FDZixDQUNFLE1BQU0sSUFB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