UNPKG

semantic-release-yarn

Version:

semantic-release plugin to publish a npm package with yarn

21 lines (20 loc) 799 B
/** * Returns [true, null] if `npmPublish` is not `false` and `pkg.private` is not * `true` or `pkg.workspaces` is not `undefined`. * Returns [false, reason] otherwise. */ function shouldPublishTuple(pluginConfig, pkg) { const reasonToNotPublish = pluginConfig.npmPublish === false ? "npmPublish plugin option is false" : pkg.private === true && typeof pkg.workspaces === "undefined" ? "package is private and has no workspaces" : null; const shouldPublish = !reasonToNotPublish; return [shouldPublish, reasonToNotPublish]; } export function shouldPublish(pluginConfig, pkg) { return shouldPublishTuple(pluginConfig, pkg)[0]; } export function reasonToNotPublish(pluginConfig, pkg) { return shouldPublishTuple(pluginConfig, pkg)[1]; }