Fix to use promise and remove unnecessary variables

This commit is contained in:
tamayika 2023-03-07 20:58:58 +09:00
parent 01b6fa5b2e
commit 2b3444b493

View file

@ -1,13 +1,16 @@
import { spawnSync } from "child_process";
import { spawn } from "child_process";
import { globSync } from "glob";
import { exit } from "process";
let someFileError = false;
const files = globSync("src/website/data/playground-samples/*/*/*.js");
for (const file of files) {
const command = `yarn tsc --noEmit --allowJs --checkJs --skipLibCheck ../out/monaco-editor/monaco.d.ts ${file}`;
console.log(file);
const { status, stdout } = spawnSync(
(async () => {
let someFileError = false;
const files = globSync("src/website/data/playground-samples/*/*/*.js");
type Result = { file: string; status: number; stdout: string };
const promises: Promise<Result>[] = [];
for (const file of files) {
promises.push(
new Promise<Result>((resolve) => {
const process = spawn(
"yarn",
[
"tsc",
@ -20,13 +23,34 @@ for (const file of files) {
],
{ shell: true }
);
if (status != 0) {
console.log(stdout.toString());
let buffer = "";
process.on("exit", () => {
resolve({
file: file,
status: process.exitCode ?? 1,
stdout: buffer,
});
});
process.stdout.on("data", (data) => {
buffer += data.toString();
});
process.stderr.on("data", (data) => {
buffer += data.toString();
});
})
);
}
for (const promise of promises) {
const result = await promise;
console.log(result.file);
if (result.status != 0) {
console.log(result.stdout.toString());
someFileError = true;
}
}
}
if (someFileError) {
if (someFileError) {
console.error("Some files had type errors.");
exit(1);
}
}
})();