UNPKG

1.55 kBJavaScriptView Raw
1#!/usr/bin/env node
2
3const program = require("commander");
4const fs = require("fs");
5const cp = require("child_process");
6
7const FileSystemHelper = require("./filesystem.helper");
8
9const TsConfigJsonData = require("./tsconfig-json.data");
10const GetPackageJsonData = require("./package-json-data");
11const IndexTsData = require("./index-ts-data");
12const ExampleRouteData = require("./example-route-data");
13
14program.version("1.6.4", "-v --version")
15program.option("-h --help").description("Show all the commands and flags").action(() => {
16 program.outputHelp();
17});
18program.command("new <projectName>").description("Creates a new project for a API RESTfull using Symetrical").action(projectName => {
19 if (fs.existsSync(projectName)) return console.log("Directory already exists!");
20
21 fs.mkdirSync(projectName);
22 FileSystemHelper.CreateFile(projectName + "/tsconfig.json", TsConfigJsonData);
23 FileSystemHelper.CreateFile(projectName + "/package.json", GetPackageJsonData(projectName));
24 FileSystemHelper.CreateFile(projectName + "/.gitignore", "node_modules");
25 fs.mkdirSync(projectName + "/src");
26 FileSystemHelper.CreateFile(projectName + "/src/index.ts", IndexTsData);
27 fs.mkdirSync(projectName + "/src/routes");
28 FileSystemHelper.CreateFile(projectName + "/src/routes/example.route.ts", ExampleRouteData);
29 cp.exec(`cd ${projectName} && git init && npm install`, (err, stdout, stderr) => {
30 if (err) throw err;
31
32 console.log(stdout);
33 console.log(stderr);
34 });
35});
36program.parse(process.argv);
\No newline at end of file