UNPKG

ts-make-gen

Version:

Lightning Fast Typescript Project Generator

57 lines (52 loc) 1.84 kB
import inquirer from "inquirer"; import chalkAnimation from "chalk-animation"; import * as fs from "fs"; import * as package_json_cli from "./config/package_json/package.cli.json" assert { type: "json" }; import * as package_json_api from "./config/package_json/package.api.json" assert { type: "json" }; import * as package_json_barebone from "./config/package_json/package.barebone.json" assert { type: "json" }; import { code_api } from "./config/typescript/index.api.js"; import { code } from "./config/typescript/index.bb.js"; import { code_cli } from "./config/typescript/index.cli.js"; import { project_dir } from "./prompt.js"; export function project_type() { inquirer .prompt([ { type: "list", message: "Type Of Project", name: "type", choices: ["CLI", "API", "Blank"], }, ]) .then(({ type }) => { let package_json = ""; let typescript_code = ""; if (type === "CLI") { package_json = JSON.stringify(package_json_cli); typescript_code = code_cli; create_src_folder(); } else if (type === "API") { package_json = JSON.stringify(package_json_api); typescript_code = code_api; create_src_folder(); } else { package_json = JSON.stringify(package_json_barebone); typescript_code = code; create_src_folder(); } fs.writeFileSync(project_dir + "/package.json", package_json); fs.writeFileSync(project_dir + "/src/index.ts", typescript_code); console.log("Project Created Successfully ;)"); console.log("run: "); console.log("npm install") }); } function create_src_folder() { const dir = `${project_dir}/src`; fs.mkdir(dir, (err) => { if (err) { console.log("Current Folder already exists...") return; } }); }