UNPKG

@mindconnect/mindconnect-nodejs

Version:

MindConnect Library for NodeJS (community based)

61 lines 3.43 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const console_1 = require("console"); const fs = require("fs"); const js_template_1 = require("../../../templates/js/js-template"); const package_template_1 = require("../../../templates/js/package_template"); const command_utils_1 = require("./command-utils"); const color = command_utils_1.getColor("green"); exports.default = (program) => { program .command("starter-js") .alias("sj") .option("-d, --dir <directoryname>", "directory name", "starterjs") .option("-v, --verbose", "verbose output") .description(color("creates a starter project in javascript #")) .action(options => { (() => __awaiter(void 0, void 0, void 0, function* () { try { command_utils_1.verboseLog(`Creating directory ${color(options.dir)}`, options.verbose); if (fs.existsSync(options.dir)) { throw new Error(`the directory ${color(options.dir)} already exists`); } fs.mkdirSync(options.dir); command_utils_1.verboseLog(`Writing index.js in ${options.dir}`, options.verbose); fs.writeFileSync(options.dir + "/index.js", js_template_1.jstemplate); let mypackage; try { mypackage = require("../../../package.json"); } catch (err) { } // ? for global installation if (!mypackage) { mypackage = require("../../../../package.json"); } package_template_1.packageTemplateJs.dependencies["@mindconnect/mindconnect-nodejs"] = "^" + mypackage.version; command_utils_1.verboseLog(`Writing package.json in ${options.dir}`, options.verbose); fs.writeFileSync(options.dir + "/package.json", JSON.stringify(package_template_1.packageTemplateJs, null, 4)); console_1.log(`Starter project in ${color(options.dir)} has been created.`); console_1.log(`Please run npm install in ${color(options.dir)} directory to install dependecies.`); } catch (err) { command_utils_1.errorLog(err, options.verbose); } }))(); }) .on("--help", () => { console_1.log("\n Examples:\n"); console_1.log(` mc starter-js \t\t\t this creates a directory called ${color("starterts")}`); console_1.log(` mc sj --dir mindconnect-agent \t this creates a directory called ${color("mindconnect-agent")}`); }); }; //# sourceMappingURL=mc-starter-js.js.map