in tools/obsoletes.ts [64:98]
export async function testObsoletes(file: string, urlPrefix: string) {
let errors: string = "";
const needsRewriteOfObsolete =
urlPrefix.indexOf("localhost") >= 0 || urlPrefix.indexOf("labs.jb.gg") >= 0;
const obsoletes = fs.readFileSync(file, "utf8").split("\n");
for (let i = 0; i < obsoletes.length; i++) {
let obsolete = obsoletes[i];
if (obsolete.startsWith("#")) continue;
if (obsolete.length <= 2) continue;
if (needsRewriteOfObsolete) {
obsolete = obsolete
.replace("/dotnet/guide", "/guide/dotnet")
.replace("/go/guide", "/guide/go")
.replace("/idea/guide", "/guide/idea")
.replace("/pycharm/guide", "/guide/pycharm")
.replace("/webstorm/guide", "/guide/webstorm");
}
const obsoleteUrl = urlPrefix.replace(/\/+$/, "") + obsolete;
try {
const response = await fetch(obsoleteUrl, { redirect: "manual" });
if (response.status >= 400) {
errors += response.status + " - " + obsoleteUrl + "\n";
}
} catch (e) {
console.log(e);
console.log(obsoleteUrl);
}
}
if (errors.length > 0) throw errors;
}