From d3521f3f55e6085e959e89f85d4ad9c3bd04a5ae Mon Sep 17 00:00:00 2001 From: Mark Larah Date: Tue, 19 May 2026 16:52:43 -0700 Subject: [PATCH] Sort GAP directories numerically instead of lexicographically The default .sort() compares strings character-by-character, placing GAP-10 before GAP-7. Use numeric comparison on the GAP number instead. Co-Authored-By: Claude Opus 4.7 --- scripts/build-website.js | 2 +- scripts/sync-codeowners.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build-website.js b/scripts/build-website.js index 9cdd3fe..af56b78 100755 --- a/scripts/build-website.js +++ b/scripts/build-website.js @@ -39,7 +39,7 @@ async function findGapDirs(parent) { return (await readdir(parent, { withFileTypes: true })) .filter((entry) => entry.isDirectory() && entry.name.startsWith("GAP-")) .map((entry) => entry.name) - .sort() + .sort((a, b) => parseInt(a.split("-")[1], 10) - parseInt(b.split("-")[1], 10)) .map((name) => join(parent, name)); } diff --git a/scripts/sync-codeowners.js b/scripts/sync-codeowners.js index 614b40f..35201ea 100755 --- a/scripts/sync-codeowners.js +++ b/scripts/sync-codeowners.js @@ -16,7 +16,7 @@ async function getGapDirs() { async function main() { const dirs = await getGapDirs(); - dirs.sort(); + dirs.sort((a, b) => parseInt(a.name.split("-")[1], 10) - parseInt(b.name.split("-")[1], 10)); const lines = await Promise.all( dirs.map(async (dir) => {