UNPKG

@jwpkg/gitversion

Version:

Gitversion is a complete customizable git-based release management system

84 lines 7.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.YarnBerryPlugin = void 0; const cli_1 = require("@yarnpkg/cli"); const core_1 = require("@yarnpkg/core"); const fslib_1 = require("@yarnpkg/fslib"); const plugin_npm_1 = require("@yarnpkg/plugin-npm"); const promises_1 = require("fs/promises"); const fs_1 = require("fs"); const path_1 = require("path"); const node_project_1 = require("./node-project"); class YarnBerryPlugin { application; yarnProject; yarnConfiguration; name = 'Yarn berry package manager plugin'; ident = 'yarn-berry'; get packManager() { return this; } constructor(application, yarnProject, yarnConfiguration) { this.application = application; this.yarnProject = yarnProject; this.yarnConfiguration = yarnConfiguration; } static async initialize(initialize) { if ((0, fs_1.existsSync)((0, path_1.join)(initialize.cwd, 'yarn.lock'))) { const yarnConfig = await core_1.Configuration.find(fslib_1.npath.toPortablePath(initialize.cwd), (0, cli_1.getPluginConfiguration)()); const { project } = await core_1.Project.find(yarnConfig, fslib_1.npath.toPortablePath(initialize.cwd)); return new YarnBerryPlugin(initialize, project, yarnConfig); } return null; } async pack(workspace, outputFolder) { if (!(workspace instanceof node_project_1.NodeWorkspace)) { return null; } if (workspace.private) { return null; } const normalizedPackageName = `${workspace.packageName.replace(/@/g, '').replace(/\//g, '-')}-${workspace.version}.tgz`; const outFile = (0, path_1.join)(outputFolder, normalizedPackageName); await this.application.executor.exec(['yarn', 'pack', '-o', outFile], { cwd: workspace.cwd, }); return normalizedPackageName; } async publish(packedPackage, fileName, releaseTag, dryRun) { const yarnWorkspace = this.yarnProject.workspaces.find(w => w.relativeCwd === packedPackage.packageRelativeCwd); if (!yarnWorkspace) { throw new Error('Mismatch between yarn workspace and gitversion workspace. Please file a bug with your package folder details at https://github.com/jwpkg/gitversion/issues'); } else { yarnWorkspace.manifest.version = packedPackage.version; if (dryRun) { this.application.logger.reportDryrun(`Would be publishing ${packedPackage.packageName} using release tag ${releaseTag}`); return; } else { const registry = plugin_npm_1.npmConfigUtils.getPublishRegistry(yarnWorkspace.manifest, { configuration: this.yarnConfiguration }); const gitHead = await plugin_npm_1.npmPublishUtils.getGitHead(yarnWorkspace.cwd); const buffer = await (0, promises_1.readFile)(fileName); const body = await plugin_npm_1.npmPublishUtils.makePublishBody(yarnWorkspace, buffer, { tag: releaseTag, access: undefined, registry, gitHead, }); if (yarnWorkspace.manifest.name) { const url = plugin_npm_1.npmHttpUtils.getIdentUrl(yarnWorkspace.manifest.name); await plugin_npm_1.npmHttpUtils.put(url, body, { configuration: this.yarnConfiguration, registry, ident: yarnWorkspace.manifest.name, // otp: this.otp, jsonResponse: true, }); } } } } } exports.YarnBerryPlugin = YarnBerryPlugin; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFybi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2VtYmVkZGVkL25vZGUveWFybi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzQ0FBc0Q7QUFDdEQsd0NBQTJGO0FBQzNGLDBDQUF1QztBQUN2QyxvREFBb0Y7QUFDcEYsMENBQXVDO0FBQ3ZDLDJCQUFnQztBQUNoQywrQkFBNEI7QUFNNUIsaURBQStDO0FBRS9DLE1BQWEsZUFBZTtJQVFFO0lBQXdDO0lBQWtDO0lBUHRHLElBQUksR0FBRyxtQ0FBbUMsQ0FBQztJQUMzQyxLQUFLLEdBQUcsWUFBWSxDQUFDO0lBRXJCLElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFlBQTRCLFdBQThCLEVBQVUsV0FBd0IsRUFBVSxpQkFBb0M7UUFBOUcsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBQUksQ0FBQztJQUUvSSxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxVQUE2QjtRQUNuRCxJQUFJLElBQUEsZUFBVSxFQUFDLElBQUEsV0FBSSxFQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2xELE1BQU0sVUFBVSxHQUFHLE1BQU0sb0JBQWlCLENBQUMsSUFBSSxDQUFDLGFBQUssQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUEsNEJBQXNCLEdBQUUsQ0FBQyxDQUFDO1lBRWhILE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLGNBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQUssQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDN0YsT0FBTyxJQUFJLGVBQWUsQ0FBQyxVQUFVLEVB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