UNPKG

@lerna/publish

Version:

Publish packages in the current project

106 lines (105 loc) 4.77 kB
var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var get_changelog_config_exports = {}; __export(get_changelog_config_exports, { getChangelogConfig: () => getChangelogConfig }); module.exports = __toCommonJS(get_changelog_config_exports); var import_npm_package_arg = __toESM(require("npm-package-arg")); var import_npmlog = __toESM(require("npmlog")); var import_pify = __toESM(require("pify")); var import_validation_error = require("../validation-error"); const cfgCache = /* @__PURE__ */ new Map(); function isFunction(config) { return Object.prototype.toString.call(config) === "[object Function]"; } function resolveConfigPromise(presetPackageName, presetConfig) { import_npmlog.default.verbose("getChangelogConfig", "Attempting to resolve preset %j", presetPackageName); let config = require(presetPackageName); import_npmlog.default.info("getChangelogConfig", "Successfully resolved preset %j", presetPackageName); if (isFunction(config)) { try { config = config(presetConfig); } catch (_) { config = (0, import_pify.default)(config)(); } } return config; } function getChangelogConfig(changelogPreset = "conventional-changelog-angular", rootPath) { const presetName = typeof changelogPreset === "string" ? changelogPreset : changelogPreset.name; const presetConfig = typeof changelogPreset === "object" ? changelogPreset : {}; const cacheKey = `${presetName}${presetConfig ? JSON.stringify(presetConfig) : ""}`; let config = cfgCache.get(cacheKey); if (!config) { let presetPackageName = presetName; const parsed = (0, import_npm_package_arg.default)(presetPackageName, rootPath); import_npmlog.default.verbose("getChangelogConfig", "using preset %j", presetPackageName); import_npmlog.default.silly("npa", parsed); if (parsed.type === "directory") { if (parsed.raw[0] === "@") { parsed.name = parsed.raw; parsed.scope = parsed.raw.substring(0, parsed.raw.indexOf("/")); } else { presetPackageName = parsed.fetchSpec; } } else if (parsed.type === "git" && parsed.hosted && parsed.hosted.default === "shortcut") { parsed.name = parsed.raw; } try { config = resolveConfigPromise(presetPackageName, presetConfig); cfgCache.set(cacheKey, config); return Promise.resolve(config); } catch (err) { import_npmlog.default.verbose("getChangelogConfig", err.message); import_npmlog.default.info("getChangelogConfig", "Auto-prefixing conventional-changelog preset %j", presetName); parsed.name = parsed.raw; } if (parsed.name.indexOf("conventional-changelog-") < 0) { const parts = parsed.name.split("/"); const start = parsed.scope ? 1 : 0; parts.splice(start, 1, `conventional-changelog-${parts[start]}`); presetPackageName = parts.join("/"); } try { config = resolveConfigPromise(presetPackageName, presetConfig); cfgCache.set(cacheKey, config); } catch (err) { import_npmlog.default.warn("getChangelogConfig", err.message); throw new import_validation_error.ValidationError( "EPRESET", `Unable to load conventional-changelog preset '${presetName}'${presetName !== presetPackageName ? ` (${presetPackageName})` : ""}` ); } } return Promise.resolve(config); } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { getChangelogConfig });