diff --git a/.eslintrc.js b/.eslintrc.js index 5b999ef..c12988e 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -4,7 +4,7 @@ module.exports = { extends: ["custom"], settings: { next: { - rootDir: ["apps/*/"], + rootDir: ["packages/*/"], }, }, }; diff --git a/packages/cli/lib/interactiveClient.ts b/packages/cli/lib/interactiveClient.ts index f6946fa..2b6bd99 100644 --- a/packages/cli/lib/interactiveClient.ts +++ b/packages/cli/lib/interactiveClient.ts @@ -11,92 +11,92 @@ import unzip from "unzip-stream"; import validateClient from "../lib/validateClient"; export default function main(shouldInstall: boolean) { - const welcomeASCII = getConstant("welcomeMessage"); - console.log(welcomeASCII); + const welcomeASCII = getConstant("welcomeMessage"); + console.log(welcomeASCII); - inquirer - .prompt([ - { - type: "input", - name: "location", - message: "Where should the project be initialized?", - }, - { - type: "list", - name: "flavor", - message: "Which flavor?", - choices: ["TypeScript", "JavaScript"], - filter(val) { - return val.toLowerCase(); - }, - }, - ]) - .then((answers) => { - validateClient(); - mkdir(answers.location, (e) => { - if (e && e.code != "EEXIST") { - logger.error("Failed to create project directory."); - process.exit(1); - } + inquirer + .prompt([ + { + type: "input", + name: "location", + message: "Where should the project be initialized?", + }, + { + type: "list", + name: "flavor", + message: "Which flavor?", + choices: ["TypeScript", "JavaScript"], + filter(val) { + return val.toLowerCase(); + }, + }, + ]) + .then((answers) => { + validateClient(); + mkdir(answers.location, (e) => { + if (e && e.code != "EEXIST") { + logger.error("Failed to create project directory."); + process.exit(1); + } - if (e) { - if (e.code == "EEXIST") { - readdir(answers.location, (_, files) => { - if (files.length) { - logger.error("Directory not empty."); - process.exit(1); - } - }); - } - } + if (e) { + if (e.code == "EEXIST") { + readdir(answers.location, (_, files) => { + if (files.length) { + logger.error("Directory not empty."); + process.exit(1); + } }); + } + } + }); - let packageManager = getPackageManager(); + let packageManager = getPackageManager(); - const start = async (TEMPLATE_DOWNLOAD_URL: string) => { - const download = stream(TEMPLATE_DOWNLOAD_URL, { isStream: true }).pipe( - createWriteStream(`${answers.location}/create-guilded-bot_ts.zip`) - ); - download.on("finish", () => { - fs.createReadStream(`${answers.location}/create-guilded-bot_ts.zip`) - .pipe(unzip.Extract({ path: `${answers.location}` })) - .on("finish", () => { - removeSync(`${answers.location}/create-guilded-bot_ts.zip`); - logger.success("🚀 Let's get started."); - }); - }); - }; - - if (answers.flavor == "typescript") { - const TEMPLATE_DOWNLOAD_URL = - "https://files.devcomp.xyz/r/create-guilded-bot_ts.zip"; - - start(TEMPLATE_DOWNLOAD_URL).then(() => { - if (shouldInstall) { - install( - packageManager as "npm" | "pnpm" | "yarn" | null, - answers.location - ); - } else if (!shouldInstall) { - logger.custom(packageManager, "Skipping installation step.") - } - }); - } - - if (answers.flavor == "javascript") { - const TEMPLATE_DOWNLOAD_URL = - "https://files.devcomp.xyz/r/create-guilded-bot_js.zip"; - - start(TEMPLATE_DOWNLOAD_URL).then(() => { - if (shouldInstall) { - install( - packageManager as "npm" | "pnpm" | "yarn" | null, - answers.location - ); - } else if (!shouldInstall) { - logger.custom(packageManager, "Skipping installation step.") - } - }); - } + const start = async (TEMPLATE_DOWNLOAD_URL: string) => { + const download = stream(TEMPLATE_DOWNLOAD_URL, { isStream: true }).pipe( + createWriteStream(`${answers.location}/create-guilded-bot_ts.zip`) + ); + download.on("finish", () => { + fs.createReadStream(`${answers.location}/create-guilded-bot_ts.zip`) + .pipe(unzip.Extract({ path: `${answers.location}` })) + .on("finish", () => { + removeSync(`${answers.location}/create-guilded-bot_ts.zip`); + logger.success("🚀 Let's get started."); + }); }); + }; + + if (answers.flavor == "typescript") { + const TEMPLATE_DOWNLOAD_URL = + "https://files.devcomp.xyz/r/create-guilded-bot_ts.zip"; + + start(TEMPLATE_DOWNLOAD_URL).then(() => { + if (shouldInstall) { + install( + packageManager as "npm" | "pnpm" | "yarn" | null, + answers.location + ); + } else if (!shouldInstall) { + logger.custom(packageManager, "Skipping installation step."); + } + }); + } + + if (answers.flavor == "javascript") { + const TEMPLATE_DOWNLOAD_URL = + "https://files.devcomp.xyz/r/create-guilded-bot_js.zip"; + + start(TEMPLATE_DOWNLOAD_URL).then(() => { + if (shouldInstall) { + install( + packageManager as "npm" | "pnpm" | "yarn" | null, + answers.location + ); + } else if (!shouldInstall) { + logger.custom(packageManager, "Skipping installation step."); + } + }); + } + }); } diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index 4dbfa39..08fee3d 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -3,8 +3,7 @@ import getConstant from "../utils/constants"; import interactiveClient from "../lib/interactiveClient"; import * as logger from "../utils/logger"; -import * as globals from "../utils/globals" - +import * as globals from "../utils/globals"; const args = process.argv.filter((_, i: number) => { return i > 1; @@ -12,7 +11,6 @@ const args = process.argv.filter((_, i: number) => { const weclomeASCII = getConstant("welcomeMessage"); const helpMenu = getConstant("helpMenu"); - if (args.length > 0) { switch (args[0]) { case "-h": @@ -27,8 +25,8 @@ if (args.length > 0) { break; case "--no-install": case "-n": - globals.setGlobal("shouldInstall", false) - interactiveClient(false) + globals.setGlobal("shouldInstall", false); + interactiveClient(false); break; default: console.log(weclomeASCII); diff --git a/packages/cli/utils/globals.ts b/packages/cli/utils/globals.ts index 7caa874..0e81893 100644 --- a/packages/cli/utils/globals.ts +++ b/packages/cli/utils/globals.ts @@ -1,13 +1,14 @@ -export let globalsStore = { meta: { created: new Date().getDate() + new Date().getTime() } } -export function setGlobal(global: string, value: any): void { - globalsStore[global] = value -} - -export function getGlobal(global: string): any { - return globalsStore[global] -} - - -export function getGlobals(): {} { - return globalsStore -} \ No newline at end of file +export let globalsStore = { + meta: { created: new Date().getDate() + new Date().getTime() }, +}; +export function setGlobal(global: string, value: any): void { + globalsStore[global] = value; +} + +export function getGlobal(global: string): any { + return globalsStore[global]; +} + +export function getGlobals(): {} { + return globalsStore; +}