zerostart-cli 0.0.14 → 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 +142 -1
- package/out/managers/TemplateManager.js +0 -1
- package/package.json +1 -1
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.
|
|
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 {
|