zerostart-cli 0.0.15 → 0.0.16

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/out/cli.js CHANGED
@@ -83,7 +83,148 @@ function showGitHubTokenHelp() {
83
83
  program
84
84
  .name('zerostart')
85
85
  .description('Create and deploy a complete project with one command')
86
- .version('0.0.6')
86
+ .version('0.0.16');
87
+ program
88
+ .command('deploy-vercel')
89
+ .description('Deploy the current project to Vercel')
90
+ .action(async () => {
91
+ showBanner();
92
+ const vercelManager = new VercelManager_1.VercelManager();
93
+ const cwd = process.cwd();
94
+ // 1. Check Install
95
+ let vercelInstalled = await vercelManager.checkVercelInstalled();
96
+ if (!vercelInstalled) {
97
+ const { installVercel } = await inquirer_1.default.prompt([{
98
+ type: 'confirm',
99
+ name: 'installVercel',
100
+ message: 'Vercel CLI not found. Install it globally?',
101
+ default: true
102
+ }]);
103
+ if (installVercel) {
104
+ const iSpinner = (0, ora_1.default)('Installing Vercel CLI...').start();
105
+ if (await vercelManager.installGlobal()) {
106
+ iSpinner.succeed(chalk_1.default.green('Vercel CLI installed!'));
107
+ vercelInstalled = true;
108
+ }
109
+ else {
110
+ iSpinner.fail(chalk_1.default.red('Failed to install Vercel CLI.'));
111
+ return;
112
+ }
113
+ }
114
+ else {
115
+ return;
116
+ }
117
+ }
118
+ // 2. Auth & Deploy
119
+ if (vercelInstalled) {
120
+ const vSpinner = (0, ora_1.default)('Checking Vercel authentication...').start();
121
+ const loggedIn = await vercelManager.checkAuth();
122
+ if (!loggedIn) {
123
+ vSpinner.stop();
124
+ console.log(chalk_1.default.yellow('\n Authentication required.'));
125
+ const { doLogin } = await inquirer_1.default.prompt([{
126
+ type: 'confirm',
127
+ name: 'doLogin',
128
+ message: 'Log in to Vercel now?',
129
+ default: true
130
+ }]);
131
+ if (doLogin) {
132
+ const loginSuccess = await vercelManager.login();
133
+ if (!loginSuccess) {
134
+ console.log(chalk_1.default.red('\n Login failed.'));
135
+ return;
136
+ }
137
+ }
138
+ else {
139
+ return;
140
+ }
141
+ }
142
+ else {
143
+ vSpinner.succeed(chalk_1.default.green('Authenticated'));
144
+ }
145
+ const dSpinner = (0, ora_1.default)('Deploying to Vercel...').start();
146
+ const url = await vercelManager.deploy(cwd);
147
+ if (url) {
148
+ dSpinner.succeed(chalk_1.default.green('Deployed to Vercel!'));
149
+ console.log(chalk_1.default.gray(' URL: ') + chalk_1.default.cyan(url));
150
+ }
151
+ else {
152
+ dSpinner.fail(chalk_1.default.red('Deployment failed'));
153
+ console.log(chalk_1.default.gray(' Try running ') + chalk_1.default.cyan('vercel deploy') + chalk_1.default.gray(' manually.'));
154
+ }
155
+ }
156
+ });
157
+ program
158
+ .command('deploy-netlify')
159
+ .description('Deploy the current project to Netlify')
160
+ .action(async () => {
161
+ showBanner();
162
+ const netlifyManager = new NetlifyManager_1.NetlifyManager();
163
+ const cwd = process.cwd();
164
+ // 1. Check Install
165
+ let netlifyInstalled = await netlifyManager.checkNetlifyInstalled();
166
+ if (!netlifyInstalled) {
167
+ const { installNetlify } = await inquirer_1.default.prompt([{
168
+ type: 'confirm',
169
+ name: 'installNetlify',
170
+ message: 'Netlify CLI not found. Install it globally?',
171
+ default: true
172
+ }]);
173
+ if (installNetlify) {
174
+ const iSpinner = (0, ora_1.default)('Installing Netlify CLI...').start();
175
+ if (await netlifyManager.installGlobal()) {
176
+ iSpinner.succeed(chalk_1.default.green('Netlify CLI installed!'));
177
+ netlifyInstalled = true;
178
+ }
179
+ else {
180
+ iSpinner.fail(chalk_1.default.red('Failed to install Netlify CLI.'));
181
+ return;
182
+ }
183
+ }
184
+ else {
185
+ return;
186
+ }
187
+ }
188
+ // 2. Auth & Deploy
189
+ if (netlifyInstalled) {
190
+ const nSpinner = (0, ora_1.default)('Checking Netlify authentication...').start();
191
+ const loggedIn = await netlifyManager.checkAuth();
192
+ if (!loggedIn) {
193
+ nSpinner.stop();
194
+ console.log(chalk_1.default.yellow('\n Authentication required.'));
195
+ const { doLogin } = await inquirer_1.default.prompt([{
196
+ type: 'confirm',
197
+ name: 'doLogin',
198
+ message: 'Log in to Netlify now?',
199
+ default: true
200
+ }]);
201
+ if (doLogin) {
202
+ const loginSuccess = await netlifyManager.login();
203
+ if (!loginSuccess) {
204
+ console.log(chalk_1.default.red('\n Login failed.'));
205
+ return;
206
+ }
207
+ }
208
+ else {
209
+ return;
210
+ }
211
+ }
212
+ else {
213
+ nSpinner.succeed(chalk_1.default.green('Authenticated'));
214
+ }
215
+ const dSpinner = (0, ora_1.default)('Deploying to Netlify...').start();
216
+ const url = await netlifyManager.deploy(cwd);
217
+ if (url) {
218
+ dSpinner.succeed(chalk_1.default.green('Deployed to Netlify!'));
219
+ console.log(chalk_1.default.gray(' Check output for URL or run ') + chalk_1.default.cyan('netlify open'));
220
+ }
221
+ else {
222
+ dSpinner.fail(chalk_1.default.red('Deployment failed'));
223
+ console.log(chalk_1.default.gray(' Try running ') + chalk_1.default.cyan('netlify login') + chalk_1.default.gray(' and ') + chalk_1.default.cyan('netlify deploy') + chalk_1.default.gray(' manually.'));
224
+ }
225
+ }
226
+ });
227
+ program
87
228
  .argument('[projectName]', 'Name of the project')
88
229
  .action(async (projectName) => {
89
230
  try {
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "zerostart": "./out/cli.js"
6
6
  },
7
7
  "description": "Create and deploy a complete project with one command.",
8
- "version": "0.0.15",
8
+ "version": "0.0.16",
9
9
  "engines": {
10
10
  "vscode": "^1.85.0"
11
11
  },
package/test111/README.md DELETED
@@ -1,31 +0,0 @@
1
- # test111
2
-
3
- ## Description
4
- A Web App project in React
5
-
6
- ## Tech Stack
7
- - Language: React
8
- - Type: Web App
9
-
10
- ## Installation
11
- ```bash
12
- # Clone the repository
13
- git clone <repo-url>
14
- cd test111
15
-
16
- # Install dependencies
17
- npm install # or pip install -r requirements.txt / mvn install
18
- ```
19
-
20
- ## Usage
21
- ```bash
22
- npm start # or python main.py / java -jar target/app.jar
23
- ```
24
-
25
- ## Future Scope
26
- - Add more features
27
- - Improve UI/UX
28
- - optimize performance
29
-
30
-
31
- Project initialized by ZeroStart CLI
@@ -1,13 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
- <head>
5
- <meta charset="UTF-8" />
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
- <title>test111</title>
8
- </head>
9
- <body>
10
- <div id="root"></div>
11
- <script type="module" src="/src/main.tsx"></script>
12
- </body>
13
- </html>
@@ -1,22 +0,0 @@
1
- {
2
- "name": "test111",
3
- "private": true,
4
- "version": "0.0.0",
5
- "type": "module",
6
- "scripts": {
7
- "dev": "vite",
8
- "build": "tsc && vite build",
9
- "preview": "vite preview"
10
- },
11
- "dependencies": {
12
- "react": "^18.2.0",
13
- "react-dom": "^18.2.0"
14
- },
15
- "devDependencies": {
16
- "@types/react": "^18.2.43",
17
- "@types/react-dom": "^18.2.17",
18
- "@vitejs/plugin-react": "^4.2.1",
19
- "typescript": "^5.2.2",
20
- "vite": "^5.0.8"
21
- }
22
- }
@@ -1,7 +0,0 @@
1
- # Roadmap for test111
2
-
3
- - [ ] Initial Setup
4
- - [ ] Core Features Implementation
5
- - [ ] Testing & Debugging
6
- - [ ] Documentation
7
- - [ ] Deployment
@@ -1,11 +0,0 @@
1
-
2
- {
3
- "compilerOptions": {
4
- "composite": true,
5
- "skipLibCheck": true,
6
- "module": "ESNext",
7
- "moduleResolution": "bundler",
8
- "allowSyntheticDefaultImports": true
9
- },
10
- "include": ["vite.config.ts"]
11
- }