@usercli/clideveloper 2.2.7 β†’ 2.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -44,6 +44,8 @@ Think of it as your **personal npm butler** πŸ•΄οΈ, setting up your tools while
44
44
 
45
45
  . βœ… React.js and Next.js installation is now available
46
46
 
47
+ . βœ… Expo (React Native) frontend support added πŸ“± πŸ†•
48
+
47
49
  . ⚠️ Other frontend frameworks will be added in future updates
48
50
 
49
51
  ---
@@ -62,6 +64,15 @@ With **Easy Dev Installer**, you can quickly install and configure:
62
64
 
63
65
  ---
64
66
 
67
+ ## πŸ†• What’s New
68
+
69
+ πŸ“± **Expo Support Unlocked!**
70
+ **Mobile app setup is now as easy as backend setup.**
71
+
72
+ **Run β†’ Relax β†’ Build πŸš€**
73
+
74
+ ---
75
+
65
76
  ## 🎯 Purpose
66
77
 
67
78
  This package helps developers quickly bootstrap backend tools **without manual configuration**, saving time and reducing errors.
@@ -0,0 +1,33 @@
1
+ const {exec}=require("child_process");
2
+ const util=require("util");
3
+ const path = require("path");
4
+ const { createSpinner } = require("nanospinner");
5
+ const fs = require("fs").promises;
6
+
7
+ let execPromise=util.promisify(exec);
8
+
9
+ const expoSetup=async (folderName)=>{
10
+
11
+ try{
12
+ const fullpath=`${process.cwd()}/${folderName}/frontend`;
13
+
14
+ let spinner=createSpinner("Making frontend folder...").start();
15
+
16
+ await fs.mkdir(`${fullpath}`,{recursive:true});
17
+ let pathjoin=path.join(`${process.cwd()}/${folderName}`,"frontend");
18
+
19
+ spinner.success({text:"Folder created successfully"});
20
+
21
+ let spinner1=createSpinner("Doing setup of expo application...").start();
22
+
23
+ await execPromise("npx create-expo-app .",{cwd:pathjoin});
24
+
25
+ spinner1.success({text:"Expo setup is completed successfully enjoy!"});
26
+
27
+
28
+ }catch(err){
29
+ console.log("Expo setup is not done because of some error");
30
+ }
31
+ }
32
+
33
+ module.exports={expoSetup};
package/index.js CHANGED
@@ -8,7 +8,7 @@ let {nodejs}=require("./components/nodejs");
8
8
  const {heading} =require("./components/welcomeHeading");
9
9
  const {createNestJs}=require("./components/nestjs");
10
10
  const {commonNextReactSetup}=require("./components/nextjsReactjsSetup");
11
-
11
+ const {expoSetup}=require("./components/exposetup");
12
12
 
13
13
  async function main() {
14
14
  await heading();
@@ -23,7 +23,7 @@ async function main() {
23
23
  type: "rawlist",
24
24
  name:"framework",
25
25
  message:(m)=> `Which node js framework you want to use inside this folder = ${(m.folderName!=".")?m.folderName:"default folder we take"}?`,
26
- choices: ["nodejs", "nestjs","reactjs","nextjs"],
26
+ choices: ["nodejs", "nestjs","reactjs","nextjs","react_expo"],
27
27
  default: ["nodejs"]
28
28
  },
29
29
  ]);
@@ -38,6 +38,8 @@ async function main() {
38
38
  await commonNextReactSetup(answer.folderName,"reactjs");
39
39
  }else if(answer.framework=="nextjs"){
40
40
  await commonNextReactSetup(answer.folderName,"nextjs");
41
+ }else if(answer.framework=="react_expo"){
42
+ await expoSetup(answer.folderName);
41
43
  }
42
44
 
43
45
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@usercli/clideveloper",
3
- "version": "2.2.7",
3
+ "version": "2.2.8",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "bin": {