Skip to content

Commit

Permalink
[STA-3429] prerelease: support format that includes a dot (#58)
Browse files Browse the repository at this point in the history
  • Loading branch information
meorphis authored Jan 25, 2024
1 parent e0e8b96 commit 9e84ad1
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
11 changes: 7 additions & 4 deletions src/versioning-strategies/prerelease.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import {Version} from '../version';
import {ConventionalCommit} from '..';
import {VersionUpdater, CustomVersionUpdate} from '../versioning-strategy';

const PRERELEASE_PATTERN = /^(?<type>[a-z]+)(?<number>\d+)$/;
const PRERELEASE_PATTERN = /^(?<type>[a-z]+)(?<dot>\.)?(?<number>\d+)$/;

class PrereleasePatchVersionUpdate implements VersionUpdater {
/**
Expand All @@ -36,7 +36,8 @@ class PrereleasePatchVersionUpdate implements VersionUpdater {
numberLength,
'0'
);
const nextPrerelease = `${match.groups.type}${paddedNextPrereleaseNumber}`;
const maybeDot = match.groups.dot ? '.' : '';
const nextPrerelease = `${match.groups.type}${maybeDot}${paddedNextPrereleaseNumber}`;
return new Version(
version.major,
version.minor,
Expand Down Expand Up @@ -84,7 +85,8 @@ class PrereleaseMinorVersionUpdate implements VersionUpdater {
numberLength,
'0'
);
const nextPrerelease = `${match.groups.type}${paddedNextPrereleaseNumber}`;
const maybeDot = match.groups.dot ? '.' : '';
const nextPrerelease = `${match.groups.type}${maybeDot}${paddedNextPrereleaseNumber}`;
return new Version(
version.major,
nextMinorNumber,
Expand Down Expand Up @@ -134,7 +136,8 @@ class PrereleaseMajorVersionUpdate implements VersionUpdater {
numberLength,
'0'
);
const nextPrerelease = `${match.groups.type}${paddedNextPrereleaseNumber}`;
const maybeDot = match.groups.dot ? '.' : '';
const nextPrerelease = `${match.groups.type}${maybeDot}${paddedNextPrereleaseNumber}`;
return new Version(
nextMajorNumber,
nextMinorNumber,
Expand Down
3 changes: 3 additions & 0 deletions test/versioning-strategies/prerelease.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ describe('PrereleaseVersioningStrategy', () => {
'1.0.1-beta01': '2.0.0-beta01',
'1.1.0-beta01': '2.0.0-beta01',
'1.1.1-beta01': '2.0.0-beta01',
'1.0.0-beta.0': '1.0.0-beta.1',
};
for (const old in expectedBumps) {
const expected = expectedBumps[old];
Expand Down Expand Up @@ -127,6 +128,7 @@ describe('PrereleaseVersioningStrategy', () => {
'1.0.1-beta01': '1.1.0-beta01',
'1.1.0-beta01': '1.1.0-beta02',
'1.1.1-beta01': '1.2.0-beta01',
'1.0.0-beta.0': '1.0.0-beta.1',
};
for (const old in expectedBumps) {
const expected = expectedBumps[old];
Expand Down Expand Up @@ -182,6 +184,7 @@ describe('PrereleaseVersioningStrategy', () => {
'1.0.0-beta1': '1.0.0-beta2',
'1.0.0-beta9': '1.0.0-beta10', // (although that would be unfortunate)
'1.0.0-beta09': '1.0.0-beta10',
'1.0.0-beta.0': '1.0.0-beta.1',
};
for (const old in expectedBumps) {
const expected = expectedBumps[old];
Expand Down

0 comments on commit 9e84ad1

Please sign in to comment.