From 503196020c5064b7d49eb72b6de3f746fbdb886c Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Fri, 1 May 2026 13:30:56 -0400 Subject: [PATCH 1/8] chore: scope variables for no-undef --- stackbrew.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stackbrew.js b/stackbrew.js index 9e7c8eab1..311ae61ba 100755 --- a/stackbrew.js +++ b/stackbrew.js @@ -33,7 +33,7 @@ const slimRE = new RegExp(/\*-slim/); let foundLTS = false; let foundCurrent = false; -for (version of versions) { +for (const version of versions) { let lts = new Date(`${config[version].lts}T00:00:00.00`).getTime(); let maintenance = new Date(`${config[version].maintenance}T00:00:00.00`).getTime(); let isCurrent = foundCurrent ? false : isNaN(lts) || lts >= now; @@ -45,7 +45,7 @@ for (version of versions) { let defaultDebian = config[version]['debian-default'] let variants = config[version].variants let fullversion; - for (variant in variants) { + for (const variant in variants) { let dockerfilePath = path.join(version, variant, 'Dockerfile'); let isAlpine = aplineRE.test(variant) let isSlim = slimRE.test(variant) From b74ce41affeab9d6b879e986db97a5b4c6179413 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Fri, 1 May 2026 13:31:43 -0400 Subject: [PATCH 2/8] chore: remove unused Maintenance variable --- stackbrew.js | 1 - 1 file changed, 1 deletion(-) diff --git a/stackbrew.js b/stackbrew.js index 311ae61ba..9b4aced8b 100755 --- a/stackbrew.js +++ b/stackbrew.js @@ -35,7 +35,6 @@ let foundCurrent = false; for (const version of versions) { let lts = new Date(`${config[version].lts}T00:00:00.00`).getTime(); - let maintenance = new Date(`${config[version].maintenance}T00:00:00.00`).getTime(); let isCurrent = foundCurrent ? false : isNaN(lts) || lts >= now; foundCurrent = isCurrent || foundCurrent; let isLTS = foundLTS ? false : (now >= lts); From 2ff4e86a79ad3cecd73865b2b9a44dcf5b8e9d84 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Fri, 1 May 2026 13:32:06 -0400 Subject: [PATCH 3/8] chore: remove duplicate empty block --- stackbrew.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/stackbrew.js b/stackbrew.js index 9b4aced8b..d2fbfc645 100755 --- a/stackbrew.js +++ b/stackbrew.js @@ -125,8 +125,6 @@ for (const version of versions) { if (isLTS) { tags.push(`lts-${variant}`) - if (variant === defaultAlpine) { - } if (variant === defaultDebian) { tags.push('lts') if (codename) { From 10685e95c02b58a1468d83d73913abc2e1dd67b0 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Fri, 1 May 2026 13:32:55 -0400 Subject: [PATCH 4/8] chore: type apline -> alpine --- stackbrew.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stackbrew.js b/stackbrew.js index d2fbfc645..ce23f1e63 100755 --- a/stackbrew.js +++ b/stackbrew.js @@ -28,7 +28,7 @@ const versions = Object.keys(config).reverse() let midnight = new Date() midnight.setHours(0, 0, 0, 0) const now = midnight.getTime() -const aplineRE = new RegExp(/alpine*/); +const alpineRE = new RegExp(/alpine*/); const slimRE = new RegExp(/\*-slim/); let foundLTS = false; let foundCurrent = false; @@ -46,7 +46,7 @@ for (const version of versions) { let fullversion; for (const variant in variants) { let dockerfilePath = path.join(version, variant, 'Dockerfile'); - let isAlpine = aplineRE.test(variant) + let isAlpine = alpineRE.test(variant) let isSlim = slimRE.test(variant) let isDefaultSlim = new RegExp(`${defaultDebian}-slim`).test(variant) From ccee5e5a13b43a522c80962da21776827cafa5f7 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Fri, 1 May 2026 13:36:00 -0400 Subject: [PATCH 5/8] chore: scope and rename fullVersion --- stackbrew.js | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/stackbrew.js b/stackbrew.js index ce23f1e63..9d82f310f 100755 --- a/stackbrew.js +++ b/stackbrew.js @@ -43,7 +43,6 @@ for (const version of versions) { let defaultAlpine = config[version]['alpine-default'] let defaultDebian = config[version]['debian-default'] let variants = config[version].variants - let fullversion; for (const variant in variants) { let dockerfilePath = path.join(version, variant, 'Dockerfile'); let isAlpine = alpineRE.test(variant) @@ -52,12 +51,12 @@ for (const version of versions) { // Get full version from the Dockerfile let dockerfile = fs.readFileSync(dockerfilePath, 'utf-8') - fullversion = dockerfile.match(/ENV NODE_VERSION=(?\d+)\.(?\d+)\.(?\d+)/) + let fullVersion = dockerfile.match(/ENV NODE_VERSION=(?\d+)\.(?\d+)\.(?\d+)/) let tags = [ - `${fullversion.groups.major}.${fullversion.groups.minor}.${fullversion.groups.patch}-${variant}`, - `${fullversion.groups.major}.${fullversion.groups.minor}-${variant}`, - `${fullversion.groups.major}-${variant}`, + `${fullVersion.groups.major}.${fullVersion.groups.minor}.${fullVersion.groups.patch}-${variant}`, + `${fullVersion.groups.major}.${fullVersion.groups.minor}-${variant}`, + `${fullVersion.groups.major}-${variant}`, ] if (codename) { @@ -65,31 +64,31 @@ for (const version of versions) { } if (variant === defaultAlpine) { - tags.push(`${fullversion.groups.major}.${fullversion.groups.minor}.${fullversion.groups.patch}-alpine`) - tags.push(`${fullversion.groups.major}.${fullversion.groups.minor}-alpine`) - tags.push(`${fullversion.groups.major}-alpine`) + tags.push(`${fullVersion.groups.major}.${fullVersion.groups.minor}.${fullVersion.groups.patch}-alpine`) + tags.push(`${fullVersion.groups.major}.${fullVersion.groups.minor}-alpine`) + tags.push(`${fullVersion.groups.major}-alpine`) if (codename) { tags.push(`${codename}-alpine`) } } if (variant === defaultDebian) { - tags.push(`${fullversion.groups.major}.${fullversion.groups.minor}.${fullversion.groups.patch}`) - tags.push(`${fullversion.groups.major}.${fullversion.groups.minor}`) - tags.push(`${fullversion.groups.major}`) + tags.push(`${fullVersion.groups.major}.${fullVersion.groups.minor}.${fullVersion.groups.patch}`) + tags.push(`${fullVersion.groups.major}.${fullVersion.groups.minor}`) + tags.push(`${fullVersion.groups.major}`) if (isSlim) { - tags.push(`${fullversion.groups.major}.${fullversion.groups.minor}.${fullversion.groups.patch}-slim`) - tags.push(`${fullversion.groups.major}.${fullversion.groups.minor}-slim`) - tags.push(`${fullversion.groups.major}-slim`) + tags.push(`${fullVersion.groups.major}.${fullVersion.groups.minor}.${fullVersion.groups.patch}-slim`) + tags.push(`${fullVersion.groups.major}.${fullVersion.groups.minor}-slim`) + tags.push(`${fullVersion.groups.major}-slim`) } if (codename) { tags.push(`${codename}`) } } if (isDefaultSlim) { - tags.push(`${fullversion.groups.major}.${fullversion.groups.minor}.${fullversion.groups.patch}-slim`) - tags.push(`${fullversion.groups.major}.${fullversion.groups.minor}-slim`) - tags.push(`${fullversion.groups.major}-slim`) + tags.push(`${fullVersion.groups.major}.${fullVersion.groups.minor}.${fullVersion.groups.patch}-slim`) + tags.push(`${fullVersion.groups.major}.${fullVersion.groups.minor}-slim`) + tags.push(`${fullVersion.groups.major}-slim`) if (codename) { tags.push(`${codename}-slim`) } @@ -98,9 +97,9 @@ for (const version of versions) { if (isCurrent) { if (variant === defaultAlpine) { tags.push(variant) - tags.push(`${fullversion.groups.major}.${fullversion.groups.minor}.${fullversion.groups.patch}-alpine`) - tags.push(`${fullversion.groups.major}.${fullversion.groups.minor}-alpine`) - tags.push(`${fullversion.groups.major}-alpine`) + tags.push(`${fullVersion.groups.major}.${fullVersion.groups.minor}.${fullVersion.groups.patch}-alpine`) + tags.push(`${fullVersion.groups.major}.${fullVersion.groups.minor}-alpine`) + tags.push(`${fullVersion.groups.major}-alpine`) tags.push('alpine') tags.push('current-alpine') } From 4a2e374d3360d635e5e7dfd842c536874e3f3def Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Fri, 1 May 2026 13:38:51 -0400 Subject: [PATCH 6/8] chore: typo Verion -> Version --- genMatrix.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/genMatrix.js b/genMatrix.js index 1d592cca3..dc7672432 100644 --- a/genMatrix.js +++ b/genMatrix.js @@ -17,14 +17,14 @@ const getChildDirectories = (parent) => fs.readdirSync(parent, { withFileTypes: .filter((dirent) => dirent.isDirectory()) .map(({ name }) => path.resolve(parent, name)); -const getNodeVerionDirs = (base) => getChildDirectories(base) +const getNodeVersionDirs = (base) => getChildDirectories(base) .filter((childPath) => nodeDirRegex.test(path.basename(childPath))); // Returns the paths of Dockerfiles that are at: base/*/Dockerfile const getDockerfilesInChildDirs = (base) => getChildDirectories(base) .map((childDir) => path.resolve(childDir, 'Dockerfile')); -const getAllDockerfiles = (base) => getNodeVerionDirs(base).flatMap(getDockerfilesInChildDirs); +const getAllDockerfiles = (base) => getNodeVersionDirs(base).flatMap(getDockerfilesInChildDirs); const getAffectedDockerfiles = (filesAdded, filesModified, filesRenamed) => { const files = [ From 16282ba447a6fd211848a025d423194d382ecdae Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Fri, 1 May 2026 13:41:49 -0400 Subject: [PATCH 7/8] chore: typo Utlity -> Utility --- functions.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions.sh b/functions.sh index 444dc2f67..e4c90603e 100755 --- a/functions.sh +++ b/functions.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# Utlity functions +# Utility functions # Don't change this file unless needed # The GitHub Action for automating new builds rely on this file From d1dbe6e13f8f56579507c7260652a731f851f2b5 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Fri, 1 May 2026 13:42:30 -0400 Subject: [PATCH 8/8] chore: typo architecutre -> architecture --- functions.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions.sh b/functions.sh index e4c90603e..cac81c387 100755 --- a/functions.sh +++ b/functions.sh @@ -19,7 +19,7 @@ fatal() { # # This is used to get the target architecture for docker image. # For crossing building, we need a way to specify the target -# architecutre manually. +# architecture manually. function get_arch() { local arch case $(uname -m) in