Files
is-a-dev/util/check-reserved-order.cjs
T

31 lines
963 B
JavaScript

const { readFileSync } = require("node:fs");
const { join } = require("node:path");
const filePath = join(__dirname, "reserved.json");
const fileContents = readFileSync(filePath, "utf8");
const reserved = JSON.parse(fileContents);
for (let index = 1; index < reserved.length; index += 1) {
if (reserved[index - 1] > reserved[index]) {
let precedingIndex = index - 1;
while (
precedingIndex >= 0 &&
reserved[precedingIndex] > reserved[index]
) {
precedingIndex -= 1;
}
const precedingLine = precedingIndex + 2;
console.error(
`reserved.json is not in alphabetical order: line ${index + 2} ("${reserved[index]}") should go after line ${precedingLine} ("${precedingIndex >= 0 ? reserved[precedingIndex] : "["}") and before line ${index + 1} ("${reserved[index - 1]}").`,
);
process.exitCode = 1;
break;
}
}
if (process.exitCode !== 1) {
console.log("reserved.json is in alphabetical order.");
}