diff --git a/demo/demo.js b/demo/demo1.js similarity index 100% rename from demo/demo.js rename to demo/demo1.js diff --git a/demo/index.js b/demo/index.js new file mode 100644 index 0000000000..8ae9aac536 --- /dev/null +++ b/demo/index.js @@ -0,0 +1,29 @@ +var prompt = require('prompt'); +var shelljs = require('shelljs'); +var fs = require('fs'); + +console.log('What demo do you wish to run? (Enter a number)'); + +var schema = { + properties: { + number: { + pattern: /^[0-9]+$/, + message: 'Please enter a number.', + required: true + } + } +}; + +prompt.start(); + +prompt.get(schema, function (err, result) { + var demoNumber = result.number; + var filePath = `./demo/demo${demoNumber}.js`; + + if (!fs.existsSync(filePath)) { + console.error(`demo${demoNumber} does not exist: ${filePath}`); + return; + } + console.log(`Running demo ${demoNumber}`); + shelljs.exec(`node ${filePath}`); +}); diff --git a/package.json b/package.json index a7ff13b159..a8e88b7816 100644 --- a/package.json +++ b/package.json @@ -9,8 +9,7 @@ "prepublishOnly": "npm run build", "lint": "tslint --project ./ts", "build": "rimraf ./build && tsc -p ts", - "demo": "npm run build && node ./demo/demo.js", - "demo2": "npm run build && node ./demo/demo2.js" + "demo": "npm run build && node ./demo" }, "files": [ "ts", @@ -49,7 +48,9 @@ "@types/mocha": "^2.2.39", "chai": "^3.5.0", "mocha": "^3.2.0", + "prompt": "^1.0.0", "rimraf": "^2.5.2", + "shelljs": "^0.7.7", "tslint": "^4.5.1", "typescript": "^2.2.1" }