From 4bcac9a6af1faf02b09ad6e6ba8d596a83452f13 Mon Sep 17 00:00:00 2001 From: aliraza944 Date: Sun, 2 Apr 2023 21:01:22 +0500 Subject: [PATCH 1/5] added the commander library for the commands --- package-lock.json | 16 ++++++++++++++-- package.json | 1 + 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index d1e1af4..c36e494 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,20 @@ { "name": "@aliraza944/react-cli", - "version": "1.0.0", + "version": "1.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@aliraza944/react-cli", - "version": "1.0.0", + "version": "1.0.1", "license": "ISC", "dependencies": { "@types/node": "^18.15.7", + "commander": "^10.0.0", "typescript": "^5.0.2" + }, + "bin": { + "crf": "bin/index.js" } }, "node_modules/@types/node": { @@ -18,6 +22,14 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.7.tgz", "integrity": "sha512-LFmUbFunqmBn26wJZgZPYZPrDR1RwGOu2v79Mgcka1ndO6V0/cwjivPTc4yoK6n9kmw4/ls1r8cLrvh2iMibFA==" }, + "node_modules/commander": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.0.tgz", + "integrity": "sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==", + "engines": { + "node": ">=14" + } + }, "node_modules/typescript": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", diff --git a/package.json b/package.json index 0db7abb..3d2b5b8 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "homepage": "https://github.com/aliraza944/React-CLI#readme", "dependencies": { "@types/node": "^18.15.7", + "commander": "^10.0.0", "typescript": "^5.0.2" } } From c6effe91135feff3ba16079e4df5d078f5700e76 Mon Sep 17 00:00:00 2001 From: aliraza944 Date: Mon, 3 Apr 2023 21:23:20 +0500 Subject: [PATCH 2/5] added the type module to accept the ECMASCRIPT --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 3d2b5b8..d625ae2 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "1.0.1", "description": "A cli for react that will create basic react files like components, hooks redux files etc.", "main": "bin/index.js", + "type": "module", "bin": { "crf": "bin/index.js" }, From 4235f04f355a4d417404380ba69561d399695def Mon Sep 17 00:00:00 2001 From: aliraza944 Date: Mon, 3 Apr 2023 21:23:49 +0500 Subject: [PATCH 3/5] allwed js file imports --- tsconfig.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tsconfig.json b/tsconfig.json index f17bc94..2749b55 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,9 +1,11 @@ { "compilerOptions": { - "module": "ESNext", - "target": "ESNext", + "module": "esnext", + "target": "esnext", "lib": ["es2015"], "moduleResolution": "node", + "allowJs": true, + "checkJs": false, "allowSyntheticDefaultImports": true, "sourceMap": true, "outDir": "bin", From 3924447ba197794cfa8133377a3b07aba39bbd8a Mon Sep 17 00:00:00 2001 From: aliraza944 Date: Mon, 3 Apr 2023 21:25:41 +0500 Subject: [PATCH 4/5] created the basic cli comnand structure --- src/utils/cli.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 src/utils/cli.ts diff --git a/src/utils/cli.ts b/src/utils/cli.ts new file mode 100644 index 0000000..11b3f91 --- /dev/null +++ b/src/utils/cli.ts @@ -0,0 +1,10 @@ +import { Command } from "commander"; +import { createComponent } from "../actions/createComponent.js"; +const program = new Command(); + +program.name("react cli").description("CLI to quickly create react components"); + +program.command("component ").action((name) => { + createComponent(name); +}); +export default program; From 35a26e730bd22fa4743fd811d2d175490dd44d98 Mon Sep 17 00:00:00 2001 From: aliraza944 Date: Mon, 3 Apr 2023 21:26:07 +0500 Subject: [PATCH 5/5] added the cli to and it respective actions --- src/actions/createComponent.ts | 3 +++ src/index.ts | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 src/actions/createComponent.ts diff --git a/src/actions/createComponent.ts b/src/actions/createComponent.ts new file mode 100644 index 0000000..2d6f442 --- /dev/null +++ b/src/actions/createComponent.ts @@ -0,0 +1,3 @@ +export const createComponent = (name: string) => { + console.log("Creating component", name); +}; diff --git a/src/index.ts b/src/index.ts index bd64cae..f70412b 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,5 @@ #!/usr/bin/env node -const currentDateTime = new Date().toISOString(); +import program from "./utils/cli.js"; -console.log(currentDateTime); +program.parse(process.argv);