fix: NodeJS date parsing from string

Use an explicit timezone to work around an "off by one" issue with date parsing
This commit is contained in:
Nick Schonning 2021-10-26 17:06:01 -04:00
parent 312c49a27e
commit 7f75648796
No known key found for this signature in database
GPG Key ID: 5DDAAD9C9AAFFD9F
1 changed files with 9 additions and 7 deletions

View File

@ -25,21 +25,23 @@ const config = require('./versions.json');
const versions = Object.keys(config).reverse() const versions = Object.keys(config).reverse()
const now = new Date().getTime() let midnight = new Date()
midnight.setHours(0, 0, 0, 0)
const now = midnight.getTime()
const aplineRE = new RegExp(/alpine*/); const aplineRE = new RegExp(/alpine*/);
const slimRE = new RegExp(/\*-slim/); const slimRE = new RegExp(/\*-slim/);
for(version of versions) { for (version of versions) {
let lts = new Date(config[version].lts).getTime(); let lts = new Date(`${config[version].lts}T00:00:00.00`).getTime();
let maintenance = new Date(config[version].maintenance).getTime(); let maintenance = new Date(`${config[version].maintenance}T00:00:00.00`).getTime();
let isCurrent = lts > now; let isCurrent = lts >= now;
let isLTS = (maintenance > now) && (now > lts); let isLTS = (maintenance >= now) && (now >= lts);
let codename = config[version].codename let codename = config[version].codename
let defaultAlpine = config[version]['alpine-default'] let defaultAlpine = config[version]['alpine-default']
let defaultDebian = config[version]['debian-default'] let defaultDebian = config[version]['debian-default']
let variants = config[version].variants let variants = config[version].variants
let fullversion; let fullversion;
for(variant in variants) { for (variant in variants) {
let dockerfilePath = path.join(version, variant, 'Dockerfile'); let dockerfilePath = path.join(version, variant, 'Dockerfile');
let isAlpine = aplineRE.test(variant) let isAlpine = aplineRE.test(variant)
let isSlim = slimRE.test(variant) let isSlim = slimRE.test(variant)