2018-08-23 01:05:26 +01:00
|
|
|
// tslint:disable:no-console
|
|
|
|
import * as fs from "fs";
|
|
|
|
import * as prompt from "prompt";
|
|
|
|
import * as shelljs from "shelljs";
|
|
|
|
|
|
|
|
console.log("What demo do you wish to run? (Enter a number)");
|
|
|
|
|
|
|
|
const schema = {
|
|
|
|
properties: {
|
|
|
|
number: {
|
|
|
|
pattern: /^[0-9]+$/,
|
|
|
|
message: "Please enter a number.",
|
|
|
|
required: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
prompt.start();
|
|
|
|
|
|
|
|
prompt.get(schema, (_, result) => {
|
|
|
|
const demoNumber = result.number;
|
2019-08-06 23:08:21 +01:00
|
|
|
const files = fs.readdirSync("./demo").filter((fn) => fn.startsWith(demoNumber));
|
2018-08-23 01:05:26 +01:00
|
|
|
|
2019-08-06 23:08:21 +01:00
|
|
|
if (files.length === 0) {
|
|
|
|
console.error(`demo number ${demoNumber} does not exist`);
|
2018-08-23 01:05:26 +01:00
|
|
|
return;
|
|
|
|
}
|
2019-08-06 23:08:21 +01:00
|
|
|
|
|
|
|
const filePath = `./demo/${files[0]}`;
|
|
|
|
|
|
|
|
console.log(`Running demo ${demoNumber}: ${files[0]}`);
|
2018-08-23 01:05:26 +01:00
|
|
|
if (shelljs.exec(`npm run ts-node -- ${filePath}`).code === 0) {
|
|
|
|
console.log("Document created successfully");
|
|
|
|
} else {
|
|
|
|
console.error("Something went wrong with the demo");
|
|
|
|
}
|
|
|
|
});
|