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