From 38997c3f3f31efb5e9510f1a85dd15a9b267a768 Mon Sep 17 00:00:00 2001 From: Steve Sanderson Date: Thu, 25 May 2017 12:22:48 +0100 Subject: [PATCH] Pad build numbers so that alpha-sort produces correct ordering --- templates/package-builder/src/build/build.ts | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/templates/package-builder/src/build/build.ts b/templates/package-builder/src/build/build.ts index 5c036bf..9985420 100644 --- a/templates/package-builder/src/build/build.ts +++ b/templates/package-builder/src/build/build.ts @@ -89,9 +89,20 @@ function copyRecursive(sourceRoot: string, destRoot: string, matchGlob: string) }); } -function getBuildNumber() { - return process.env.APPVEYOR_BUILD_NUMBER - || ('t-' + Math.floor((new Date().valueOf() - new Date(2017, 0, 1).valueOf()) / (60*1000))); +function leftPad(str: string, minLength: number, padChar: string) { + while (str.length < minLength) { + str = padChar + str; + } + return str; +} + +function getBuildNumber(): string { + if (process.env.APPVEYOR_BUILD_NUMBER) { + return leftPad(process.env.APPVEYOR_BUILD_NUMBER, 6, '0'); + } + + // For local builds, use timestamp + return 't-' + Math.floor((new Date().valueOf() - new Date(2017, 0, 1).valueOf()) / (60*1000)); } function buildYeomanNpmPackage(outputRoot: string) {