Skip to content

Commit

Permalink
fix: check if maintenance version
Browse files Browse the repository at this point in the history
  • Loading branch information
lshadler committed Oct 21, 2021
1 parent 17f642f commit d14c773
Showing 1 changed file with 17 additions and 13 deletions.
30 changes: 17 additions & 13 deletions plugins/npm/src/index.ts
Expand Up @@ -264,8 +264,9 @@ const markdownList = (lines: string[]) =>
lines.map((line) => `- \`${line}\``).join("\n");

/** Get the previous version. Typically from a package distribution description file. */
async function getPreviousVersion(auto: Auto, prereleaseBranch: string) {
async function getPreviousVersion(auto: Auto, prereleaseBranch: string, currentBranch: string | undefined) {
let previousVersion = "";
const isMaintenanceBranch = currentBranch && auto.config?.versionBranches && currentBranch?.includes(auto.config?.versionBranches)

if (isMonorepo()) {
auto.logger.veryVerbose.info(
Expand All @@ -281,7 +282,7 @@ async function getPreviousVersion(auto: Auto, prereleaseBranch: string) {
} else {
const releasedPackage = getMonorepoPackage();

if (!releasedPackage.name && !releasedPackage.version) {
if (isMaintenanceBranch || (!releasedPackage.name && !releasedPackage.version)) {
previousVersion = auto.prefixRelease(monorepoVersion);
} else {
previousVersion = await greaterRelease(
Expand All @@ -297,15 +298,18 @@ async function getPreviousVersion(auto: Auto, prereleaseBranch: string) {
"Using package.json to calculate previous version"
);
const { version, name } = await loadPackageJson();

previousVersion = version
? await greaterRelease(
auto.prefixRelease,
name,
auto.prefixRelease(version),
prereleaseBranch
)
: "0.0.0";
if(isMaintenanceBranch && version) {
previousVersion = version
} else {
previousVersion = version
? await greaterRelease(
auto.prefixRelease,
name,
auto.prefixRelease(version),
prereleaseBranch
)
: "0.0.0";
}
}

auto.logger.verbose.info(
Expand Down Expand Up @@ -736,7 +740,7 @@ export default class NPMPlugin implements IPlugin {
});

auto.hooks.getPreviousVersion.tapPromise(this.name, () =>
getPreviousVersion(auto, prereleaseBranch)
getPreviousVersion(auto, prereleaseBranch, branch)
);

auto.hooks.getRepository.tapPromise(this.name, async () => {
Expand Down Expand Up @@ -1207,7 +1211,7 @@ export default class NPMPlugin implements IPlugin {
const lastRelease = await auto.git!.getLatestRelease();
const latestTag =
(await auto.git?.getLastTagNotInBaseBranch(prereleaseBranch)) ||
(await getPreviousVersion(auto, prereleaseBranch));
(await getPreviousVersion(auto, prereleaseBranch, branch));

if (isMonorepo()) {
auto.logger.verbose.info("Detected monorepo, using lerna");
Expand Down

0 comments on commit d14c773

Please sign in to comment.