Add logging output to demo

This commit is contained in:
Dolan Miu
2023-07-18 21:07:19 +01:00
parent 9a9a2019f6
commit 0c51082bb9

View File

@ -5,9 +5,9 @@ import inquirer from "inquirer";
import { $ } from "execa"; import { $ } from "execa";
export type Answers = { export type Answers = {
type: "list" | "number"; readonly type: "list" | "number";
demoNumber?: number; readonly demoNumber?: number;
demoFile?: number; readonly demoFile?: number;
}; };
const dir = "./demo"; const dir = "./demo";
@ -15,8 +15,7 @@ const fileNames = fs.readdirSync(dir);
const keys = fileNames.map((f) => path.parse(f).name); const keys = fileNames.map((f) => path.parse(f).name);
const getFileNumber = (file: string): number => { const getFileNumber = (file: string): number => {
const nameParts = file.split("-"); const [firstPart] = file.split("-");
const firstPart = nameParts[0];
return Number(firstPart); return Number(firstPart);
}; };
@ -35,15 +34,15 @@ const answers = await inquirer.prompt<Answers>([
name: "demoFile", name: "demoFile",
message: "What demo do you wish to run?", message: "What demo do you wish to run?",
choices: demoFiles, choices: demoFiles,
filter: (input) => parseInt(input.split("-")[0]), filter: (input) => parseInt(input.split("-")[0], 10),
when: (answers) => answers.type === "list", when: (a) => a.type === "list",
}, },
{ {
type: "number", type: "number",
name: "demoNumber", name: "demoNumber",
message: "What demo do you wish to run? (Enter a number)", message: "What demo do you wish to run? (Enter a number)",
default: 1, default: 1,
when: (answers) => answers.type === "number", when: (a) => a.type === "number",
}, },
]); ]);
@ -56,6 +55,7 @@ if (files.length === 0) {
const filePath = path.join(dir, files[0]); const filePath = path.join(dir, files[0]);
console.log(`Running demo ${demoNumber}: ${files[0]}`); console.log(`Running demo ${demoNumber}: ${files[0]}`);
await $`ts-node --project demo/tsconfig.json ${filePath}`; const { stdout } = await $`ts-node --project demo/tsconfig.json ${filePath}`;
console.log(stdout);
console.log("Successfully created document!"); console.log("Successfully created document!");
} }