ziptoweb 1.0.2 → 1.0.4
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/bin/cli.js +77 -5
- package/package.json +4 -1
package/bin/cli.js
CHANGED
|
@@ -162,20 +162,92 @@ async function login() {
|
|
|
162
162
|
program
|
|
163
163
|
.name('ziptoweb')
|
|
164
164
|
.description('CLI для деплоя статических сайтов на ZipToWeb')
|
|
165
|
-
.version('1.0.
|
|
165
|
+
.version('1.0.2')
|
|
166
|
+
.addHelpText('after', `
|
|
167
|
+
${chalk.hex('#e67e4d').bold('Примеры использования:')}
|
|
168
|
+
|
|
169
|
+
${chalk.gray('# Авторизация (первый раз)')}
|
|
170
|
+
${chalk.white('$ ziptoweb login')}
|
|
171
|
+
|
|
172
|
+
${chalk.gray('# Деплой текущей директории')}
|
|
173
|
+
${chalk.white('$ ziptoweb deploy')}
|
|
174
|
+
|
|
175
|
+
${chalk.gray('# Деплой конкретной папки')}
|
|
176
|
+
${chalk.white('$ ziptoweb deploy ./dist')}
|
|
177
|
+
|
|
178
|
+
${chalk.gray('# Деплой с указанием поддомена')}
|
|
179
|
+
${chalk.white('$ ziptoweb deploy --name myproject')}
|
|
180
|
+
|
|
181
|
+
${chalk.hex('#e67e4d').bold('Лимиты:')}
|
|
182
|
+
|
|
183
|
+
${chalk.white('Бесплатный план:')}
|
|
184
|
+
• Максимум 5 сайтов
|
|
185
|
+
• До 50 МБ на сайт
|
|
186
|
+
• До 1000 файлов
|
|
187
|
+
• 10 загрузок в час
|
|
188
|
+
|
|
189
|
+
${chalk.white('Pro план (299₽/мес):')}
|
|
190
|
+
• Безлимит сайтов
|
|
191
|
+
• До 100 МБ на сайт
|
|
192
|
+
• Приоритетная поддержка
|
|
193
|
+
|
|
194
|
+
${chalk.hex('#e67e4d').bold('Поддержка:')}
|
|
195
|
+
|
|
196
|
+
Документация: ${chalk.white('https://ziptoweb.ru')}
|
|
197
|
+
Dashboard: ${chalk.white('https://ziptoweb.ru/dashboard')}
|
|
198
|
+
Email: ${chalk.white('support@ziptoweb.ru')}
|
|
199
|
+
`);
|
|
166
200
|
|
|
167
201
|
program
|
|
168
202
|
.command('login')
|
|
169
|
-
.description('Авторизоваться в ZipToWeb')
|
|
203
|
+
.description('Авторизоваться в ZipToWeb через браузер')
|
|
204
|
+
.addHelpText('after', `
|
|
205
|
+
${chalk.gray('Пример:')}
|
|
206
|
+
${chalk.white('$ ziptoweb login')}
|
|
207
|
+
|
|
208
|
+
${chalk.gray('После выполнения команды:')}
|
|
209
|
+
1. Откроется ссылка для авторизации
|
|
210
|
+
2. Войдите через браузер
|
|
211
|
+
3. Токен сохранится автоматически в ~/.ziptoweb/token
|
|
212
|
+
`)
|
|
170
213
|
.action(async () => {
|
|
171
214
|
await login();
|
|
172
215
|
});
|
|
173
216
|
|
|
174
217
|
program
|
|
175
218
|
.command('deploy')
|
|
176
|
-
.description('Задеплоить
|
|
177
|
-
.argument('[path]', 'Путь к директории
|
|
178
|
-
.option('-n, --name <name>', 'Имя поддомена')
|
|
219
|
+
.description('Задеплоить статический сайт на ZipToWeb')
|
|
220
|
+
.argument('[path]', 'Путь к директории (по умолчанию текущая)', '.')
|
|
221
|
+
.option('-n, --name <name>', 'Имя поддомена (например: mysite)')
|
|
222
|
+
.addHelpText('after', `
|
|
223
|
+
${chalk.gray('Примеры:')}
|
|
224
|
+
|
|
225
|
+
${chalk.gray('# Деплой текущей директории с автоматическим именем')}
|
|
226
|
+
${chalk.white('$ ziptoweb deploy')}
|
|
227
|
+
|
|
228
|
+
${chalk.gray('# Деплой папки dist')}
|
|
229
|
+
${chalk.white('$ ziptoweb deploy ./dist')}
|
|
230
|
+
|
|
231
|
+
${chalk.gray('# Деплой с конкретным поддоменом')}
|
|
232
|
+
${chalk.white('$ ziptoweb deploy --name myproject')}
|
|
233
|
+
${chalk.gray(' → Сайт будет доступен: https://myproject.ziptoweb.ru')}
|
|
234
|
+
|
|
235
|
+
${chalk.gray('# Деплой React/Vue build')}
|
|
236
|
+
${chalk.white('$ npm run build && ziptoweb deploy ./build')}
|
|
237
|
+
|
|
238
|
+
${chalk.hex('#e67e4d').bold('Что можно деплоить:')}
|
|
239
|
+
• HTML/CSS/JS сайты
|
|
240
|
+
• React, Vue, Angular builds
|
|
241
|
+
• Статические генераторы (Hugo, Jekyll)
|
|
242
|
+
• Экспорты из Figma, Tilda, Webflow
|
|
243
|
+
• Портфолио, лендинги, документация
|
|
244
|
+
|
|
245
|
+
${chalk.hex('#e67e4d').bold('Безопасность:')}
|
|
246
|
+
• Автоматическая проверка на симлинки
|
|
247
|
+
• Защита от path traversal
|
|
248
|
+
• Предупреждения о .env и .git файлах
|
|
249
|
+
• Проверка размера и количества файлов
|
|
250
|
+
`)
|
|
179
251
|
.action(async (dirPath, options) => {
|
|
180
252
|
let token = getToken();
|
|
181
253
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ziptoweb",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "CLI для деплоя статических сайтов на ZipToWeb за 30 секунд",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -39,5 +39,8 @@
|
|
|
39
39
|
"form-data": "^4.0.0",
|
|
40
40
|
"ora": "^5.4.1",
|
|
41
41
|
"unique-names-generator": "^4.7.1"
|
|
42
|
+
},
|
|
43
|
+
"overrides": {
|
|
44
|
+
"glob": "^11.0.0"
|
|
42
45
|
}
|
|
43
46
|
}
|