UNPKG

@mindconnect/mindconnect-nodejs

Version:

MindConnect Library for NodeJS (community based)

65 lines 3.91 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 package_template_1 = require("../../../templates/ts/package_template"); const ts_template_1 = require("../../../templates/ts/ts-template"); const command_utils_1 = require("./command-utils"); const color = command_utils_1.getColor("green"); exports.default = (program) => { program .command("starter-ts") .alias("st") .option("-d, --dir <directoryname>", "directory name", "starterts") .option("-v, --verbose", "verbose output") .description(color("creates a starter project in typescript #")) .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.ts in ${options.dir}`, options.verbose); fs.writeFileSync(options.dir + "/index.ts", ts_template_1.tstemplate); let mypackage; try { mypackage = require("../../../package.json"); } catch (err) { } // ? for global installation if (!mypackage) { mypackage = require("../../../../package.json"); } package_template_1.packageTemplateTs.dependencies["@mindconnect/mindconnect-nodejs"] = "^" + mypackage.version; package_template_1.packageTemplateTs.devDependencies["@types/node"] = mypackage.devDependencies["@types/node"]; package_template_1.packageTemplateTs.devDependencies["typescript"] = mypackage.devDependencies["typescript"]; command_utils_1.verboseLog(`Writing package.json in ${options.dir}`, options.verbose); fs.writeFileSync(options.dir + "/package.json", JSON.stringify(package_template_1.packageTemplateTs, null, 4)); command_utils_1.verboseLog(`Writing tsconfig.json in ${options.dir}`, options.verbose); fs.writeFileSync(options.dir + "/tsconfig.json", JSON.stringify(ts_template_1.tsconfigjson, 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-ts \t\t\t this creates a directory called ${color("starterts")}`); console_1.log(` mc st --dir mindconnect-agent \t this creates a directory called ${color("mindconnect-agent")}`); }); }; //# sourceMappingURL=mc-starter-ts.js.map