24 lines
783 B
TypeScript
24 lines
783 B
TypeScript
// Calculate next build version based on the previous version
|
|
// Version formats are YYYYMMDD.1, YYYYMMDD.2, etc.
|
|
// If there is no previous version, start at Todays date and .1
|
|
export function calculateNextBuildVersion(latestVersion?: string | null): string {
|
|
const today = new Date();
|
|
const year = today.getFullYear();
|
|
const month = today.getMonth() + 1;
|
|
const day = today.getDate();
|
|
const todayFormatted = `${year}${month < 10 ? "0" : ""}${month}${day < 10 ? "0" : ""}${day}`;
|
|
|
|
if (!latestVersion) {
|
|
return `${todayFormatted}.1`;
|
|
}
|
|
|
|
const [date, buildNumber] = latestVersion.split(".");
|
|
|
|
if (date === todayFormatted) {
|
|
const nextBuildNumber = parseInt(buildNumber, 10) + 1;
|
|
return `${date}.${nextBuildNumber}`;
|
|
}
|
|
|
|
return `${todayFormatted}.1`;
|
|
}
|