1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 15:24:46 -05:00

chore: clean up lint script (#20682)

Right now, if one of the linters fails, the all other ones continue
running in the background. This fixes this by waiting until all linters
are done before settling.
This commit is contained in:
Luca Casonato 2023-09-26 13:41:07 +09:00 committed by GitHub
parent 939279aa10
commit 6f87962a77
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3,26 +3,34 @@
import { buildMode, getPrebuilt, getSources, join, ROOT_PATH } from "./util.js";
import { checkCopyright } from "./copyright_checker.js";
let didLint = false;
const promises = [];
if (Deno.args.includes("--js")) {
await dlint();
await dlintPreferPrimordials();
didLint = true;
let js = Deno.args.includes("--js");
let rs = Deno.args.includes("--rs");
if (!js && !rs) {
js = true;
rs = true;
}
if (Deno.args.includes("--rs")) {
await clippy();
didLint = true;
if (js) {
promises.push(dlint());
promises.push(dlintPreferPrimordials());
}
if (!didLint) {
await Promise.all([
dlint(),
dlintPreferPrimordials(),
checkCopyright(),
clippy(),
]);
if (rs) {
promises.push(clippy());
}
if (!js && !rs) {
promises.push(checkCopyright());
}
const results = await Promise.allSettled(promises);
for (const result of results) {
if (result.status === "rejected") {
console.error(result.reason);
Deno.exit(1);
}
}
async function dlint() {