curatedreels-deploy 1.0.1
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 +176 -0
- package/dist/clients/deno.d.ts +60 -0
- package/dist/clients/deno.d.ts.map +1 -0
- package/dist/clients/deno.js +173 -0
- package/dist/clients/deno.js.map +1 -0
- package/dist/clients/vercel.d.ts +82 -0
- package/dist/clients/vercel.d.ts.map +1 -0
- package/dist/clients/vercel.js +363 -0
- package/dist/clients/vercel.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +165 -0
- package/dist/index.js.map +1 -0
- package/dist/orchestrator.d.ts +44 -0
- package/dist/orchestrator.d.ts.map +1 -0
- package/dist/orchestrator.js +201 -0
- package/dist/orchestrator.js.map +1 -0
- package/dist/services/bundles.d.ts +42 -0
- package/dist/services/bundles.d.ts.map +1 -0
- package/dist/services/bundles.js +213 -0
- package/dist/services/bundles.js.map +1 -0
- package/dist/services/license.d.ts +39 -0
- package/dist/services/license.d.ts.map +1 -0
- package/dist/services/license.js +103 -0
- package/dist/services/license.js.map +1 -0
- package/dist/services/mongodb.d.ts +21 -0
- package/dist/services/mongodb.d.ts.map +1 -0
- package/dist/services/mongodb.js +161 -0
- package/dist/services/mongodb.js.map +1 -0
- package/dist/utils/credentials.d.ts +26 -0
- package/dist/utils/credentials.d.ts.map +1 -0
- package/dist/utils/credentials.js +176 -0
- package/dist/utils/credentials.js.map +1 -0
- package/package.json +56 -0
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vercel API Client
|
|
3
|
+
*
|
|
4
|
+
* Deploys Next.js applications to Vercel using CLI for pre-built deployments
|
|
5
|
+
*/
|
|
6
|
+
import fetch from 'node-fetch';
|
|
7
|
+
import { readdir, readFile, stat, writeFile } from 'fs/promises';
|
|
8
|
+
import { join, resolve } from 'path';
|
|
9
|
+
import { exec } from 'child_process';
|
|
10
|
+
import { promisify } from 'util';
|
|
11
|
+
const execAsync = promisify(exec);
|
|
12
|
+
export class VercelClient {
|
|
13
|
+
token;
|
|
14
|
+
teamId;
|
|
15
|
+
baseUrl = 'https://api.vercel.com';
|
|
16
|
+
constructor(token, teamId) {
|
|
17
|
+
this.token = token;
|
|
18
|
+
this.teamId = teamId;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Deploy a project to Vercel using CLI pre-built deployment
|
|
22
|
+
*/
|
|
23
|
+
async deploy(options) {
|
|
24
|
+
// Step 1: Create or get project and set env vars
|
|
25
|
+
const projectId = await this.ensureProject(options.projectName);
|
|
26
|
+
await this.setEnvironmentVariables(projectId, options.envVars);
|
|
27
|
+
// Step 2: Build the app locally and deploy using Vercel CLI
|
|
28
|
+
const deploymentUrl = await this.deployWithCLI(options);
|
|
29
|
+
return deploymentUrl;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Deploy using Vercel CLI with pre-built output
|
|
33
|
+
*/
|
|
34
|
+
async deployWithCLI(options) {
|
|
35
|
+
const bundlePath = resolve(options.bundlePath);
|
|
36
|
+
// Check if there's a .next folder (pre-built) or source files
|
|
37
|
+
const hasNextBuild = await stat(join(bundlePath, '.next')).catch(() => null);
|
|
38
|
+
// Create vercel.json configuration
|
|
39
|
+
const vercelConfig = {
|
|
40
|
+
name: options.projectName,
|
|
41
|
+
framework: options.framework === 'nextjs' ? 'nextjs' : null
|
|
42
|
+
};
|
|
43
|
+
await writeFile(join(bundlePath, 'vercel.json'), JSON.stringify(vercelConfig, null, 2));
|
|
44
|
+
// Build command if no .next exists
|
|
45
|
+
let buildCmd = '';
|
|
46
|
+
if (!hasNextBuild) {
|
|
47
|
+
// Need to build first
|
|
48
|
+
buildCmd = `cd "${bundlePath}" && npm install && npm run build && `;
|
|
49
|
+
}
|
|
50
|
+
// Deploy using Vercel CLI
|
|
51
|
+
const teamArg = this.teamId ? `--scope ${this.teamId}` : '';
|
|
52
|
+
const cmd = `${buildCmd}cd "${bundlePath}" && npx vercel deploy --token ${this.token} ${teamArg} --yes --prod 2>&1`;
|
|
53
|
+
try {
|
|
54
|
+
const { stdout, stderr } = await execAsync(cmd, {
|
|
55
|
+
timeout: 600000, // 10 minute timeout
|
|
56
|
+
maxBuffer: 50 * 1024 * 1024, // 50MB buffer
|
|
57
|
+
env: {
|
|
58
|
+
...process.env,
|
|
59
|
+
VERCEL_ORG_ID: this.teamId || undefined,
|
|
60
|
+
...options.envVars
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
// Extract deployment URL from output
|
|
64
|
+
const output = stdout + stderr;
|
|
65
|
+
const urlMatch = output.match(/https:\/\/[^\s]+\.vercel\.app/);
|
|
66
|
+
if (urlMatch) {
|
|
67
|
+
return urlMatch[0];
|
|
68
|
+
}
|
|
69
|
+
// If no URL found, check for production URL
|
|
70
|
+
const prodUrlMatch = output.match(/Production: (https:\/\/[^\s]+)/);
|
|
71
|
+
if (prodUrlMatch) {
|
|
72
|
+
return prodUrlMatch[1];
|
|
73
|
+
}
|
|
74
|
+
throw new Error(`Could not extract deployment URL from output: ${output.slice(0, 500)}`);
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
throw new Error(`Vercel CLI deployment failed: ${error.message}`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Ensure project exists (create if not)
|
|
82
|
+
*/
|
|
83
|
+
async ensureProject(name) {
|
|
84
|
+
// Try to get existing project
|
|
85
|
+
try {
|
|
86
|
+
const project = await this.getProject(name);
|
|
87
|
+
return project.id;
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
// Project doesn't exist, create it
|
|
91
|
+
return await this.createProject(name);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Get project by name
|
|
96
|
+
*/
|
|
97
|
+
async getProject(name) {
|
|
98
|
+
const url = this.buildUrl('/v9/projects/' + encodeURIComponent(name));
|
|
99
|
+
const response = await fetch(url, {
|
|
100
|
+
headers: this.getHeaders()
|
|
101
|
+
});
|
|
102
|
+
if (!response.ok) {
|
|
103
|
+
throw new Error(`Project not found: ${name}`);
|
|
104
|
+
}
|
|
105
|
+
return await response.json();
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Create a new project
|
|
109
|
+
*/
|
|
110
|
+
async createProject(name) {
|
|
111
|
+
const url = this.buildUrl('/v10/projects');
|
|
112
|
+
const response = await fetch(url, {
|
|
113
|
+
method: 'POST',
|
|
114
|
+
headers: this.getHeaders(),
|
|
115
|
+
body: JSON.stringify({
|
|
116
|
+
name,
|
|
117
|
+
framework: 'nextjs'
|
|
118
|
+
})
|
|
119
|
+
});
|
|
120
|
+
if (!response.ok) {
|
|
121
|
+
const error = await response.text();
|
|
122
|
+
throw new Error(`Failed to create project: ${error}`);
|
|
123
|
+
}
|
|
124
|
+
const project = await response.json();
|
|
125
|
+
return project.id;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Collect all files from bundle directory
|
|
129
|
+
*/
|
|
130
|
+
async collectFiles(bundlePath) {
|
|
131
|
+
const files = [];
|
|
132
|
+
const { resolve } = await import('path');
|
|
133
|
+
const normalizedBase = resolve(bundlePath);
|
|
134
|
+
async function walk(dir) {
|
|
135
|
+
const entries = await readdir(dir, { withFileTypes: true });
|
|
136
|
+
for (const entry of entries) {
|
|
137
|
+
const fullPath = join(dir, entry.name);
|
|
138
|
+
if (entry.isDirectory()) {
|
|
139
|
+
// Skip node_modules, .git, and macOS resource forks
|
|
140
|
+
if (entry.name === 'node_modules' || entry.name === '.git' || entry.name.startsWith('._')) {
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
await walk(fullPath);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
// Skip macOS resource fork files (._*)
|
|
147
|
+
if (entry.name.startsWith('._')) {
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
const normalizedFull = resolve(fullPath);
|
|
151
|
+
const relativePath = normalizedFull.slice(normalizedBase.length + 1);
|
|
152
|
+
const content = await readFile(fullPath);
|
|
153
|
+
files.push({
|
|
154
|
+
file: relativePath,
|
|
155
|
+
data: content.toString('base64'),
|
|
156
|
+
encoding: 'base64'
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
await walk(bundlePath);
|
|
162
|
+
return files;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Create a deployment
|
|
166
|
+
*/
|
|
167
|
+
async createDeployment(options) {
|
|
168
|
+
const url = this.buildUrl('/v13/deployments');
|
|
169
|
+
// Log file count for debugging
|
|
170
|
+
console.log(`Uploading ${options.files.length} files to Vercel...`);
|
|
171
|
+
const pkgFile = options.files.find(f => f.file === 'package.json');
|
|
172
|
+
if (pkgFile) {
|
|
173
|
+
console.log(' - package.json found');
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
console.log(' - WARNING: package.json NOT found!');
|
|
177
|
+
console.log(' - Files:', options.files.slice(0, 5).map(f => f.file).join(', '), '...');
|
|
178
|
+
}
|
|
179
|
+
// Convert env vars to Vercel format for deployment
|
|
180
|
+
const env = options.envVars || {};
|
|
181
|
+
const response = await fetch(url, {
|
|
182
|
+
method: 'POST',
|
|
183
|
+
headers: this.getHeaders(),
|
|
184
|
+
body: JSON.stringify({
|
|
185
|
+
name: options.name,
|
|
186
|
+
project: options.projectId,
|
|
187
|
+
files: options.files,
|
|
188
|
+
projectSettings: {
|
|
189
|
+
framework: 'nextjs'
|
|
190
|
+
},
|
|
191
|
+
target: 'production',
|
|
192
|
+
env
|
|
193
|
+
})
|
|
194
|
+
});
|
|
195
|
+
if (!response.ok) {
|
|
196
|
+
const error = await response.text();
|
|
197
|
+
throw new Error(`Deployment failed: ${error}`);
|
|
198
|
+
}
|
|
199
|
+
const deployment = await response.json();
|
|
200
|
+
// Wait for deployment to be ready
|
|
201
|
+
await this.waitForDeployment(deployment.id);
|
|
202
|
+
return deployment.url;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Wait for deployment to complete
|
|
206
|
+
*/
|
|
207
|
+
async waitForDeployment(deploymentId) {
|
|
208
|
+
const maxAttempts = 120; // 10 minutes
|
|
209
|
+
const interval = 5000; // 5 seconds
|
|
210
|
+
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
211
|
+
const url = this.buildUrl(`/v13/deployments/${deploymentId}`);
|
|
212
|
+
const response = await fetch(url, {
|
|
213
|
+
headers: this.getHeaders()
|
|
214
|
+
});
|
|
215
|
+
if (!response.ok) {
|
|
216
|
+
throw new Error('Failed to check deployment status');
|
|
217
|
+
}
|
|
218
|
+
const deployment = await response.json();
|
|
219
|
+
if (deployment.readyState === 'READY') {
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
if (deployment.readyState === 'ERROR') {
|
|
223
|
+
throw new Error('Deployment failed on Vercel');
|
|
224
|
+
}
|
|
225
|
+
await new Promise(resolve => setTimeout(resolve, interval));
|
|
226
|
+
}
|
|
227
|
+
throw new Error('Deployment timeout');
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Set environment variables for a project
|
|
231
|
+
*/
|
|
232
|
+
async setEnvironmentVariables(projectId, envVars) {
|
|
233
|
+
for (const [key, value] of Object.entries(envVars)) {
|
|
234
|
+
await this.createEnvironmentVariable(projectId, key, value);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Create or update a single environment variable
|
|
239
|
+
*/
|
|
240
|
+
async createEnvironmentVariable(projectId, key, value) {
|
|
241
|
+
const url = this.buildUrl(`/v10/projects/${projectId}/env`);
|
|
242
|
+
const response = await fetch(url, {
|
|
243
|
+
method: 'POST',
|
|
244
|
+
headers: this.getHeaders(),
|
|
245
|
+
body: JSON.stringify({
|
|
246
|
+
key,
|
|
247
|
+
value,
|
|
248
|
+
type: 'encrypted',
|
|
249
|
+
target: ['production', 'preview', 'development']
|
|
250
|
+
})
|
|
251
|
+
});
|
|
252
|
+
if (!response.ok) {
|
|
253
|
+
const error = await response.text();
|
|
254
|
+
// If env var already exists, try to update it
|
|
255
|
+
if (error.includes('ENV_CONFLICT') || response.status === 409) {
|
|
256
|
+
await this.updateEnvironmentVariable(projectId, key, value);
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
throw new Error(`Failed to set env var ${key}: ${error}`);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Update an existing environment variable
|
|
264
|
+
*/
|
|
265
|
+
async updateEnvironmentVariable(projectId, key, value) {
|
|
266
|
+
// First get the env var ID
|
|
267
|
+
const listUrl = this.buildUrl(`/v10/projects/${projectId}/env`);
|
|
268
|
+
const listResponse = await fetch(listUrl, {
|
|
269
|
+
headers: this.getHeaders()
|
|
270
|
+
});
|
|
271
|
+
if (!listResponse.ok) {
|
|
272
|
+
throw new Error(`Failed to list env vars for update: ${await listResponse.text()}`);
|
|
273
|
+
}
|
|
274
|
+
const data = await listResponse.json();
|
|
275
|
+
const envVar = data.envs.find(e => e.key === key);
|
|
276
|
+
if (!envVar) {
|
|
277
|
+
throw new Error(`Env var ${key} not found for update`);
|
|
278
|
+
}
|
|
279
|
+
// Update the env var
|
|
280
|
+
const updateUrl = this.buildUrl(`/v10/projects/${projectId}/env/${envVar.id}`);
|
|
281
|
+
const updateResponse = await fetch(updateUrl, {
|
|
282
|
+
method: 'PATCH',
|
|
283
|
+
headers: this.getHeaders(),
|
|
284
|
+
body: JSON.stringify({
|
|
285
|
+
value,
|
|
286
|
+
type: 'encrypted',
|
|
287
|
+
target: ['production', 'preview', 'development']
|
|
288
|
+
})
|
|
289
|
+
});
|
|
290
|
+
if (!updateResponse.ok) {
|
|
291
|
+
const error = await updateResponse.text();
|
|
292
|
+
throw new Error(`Failed to update env var ${key}: ${error}`);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Update existing environment variables
|
|
297
|
+
*/
|
|
298
|
+
async updateEnvironmentVariables(projectName, envVars) {
|
|
299
|
+
const project = await this.getProject(projectName);
|
|
300
|
+
await this.setEnvironmentVariables(project.id, envVars);
|
|
301
|
+
// Trigger redeployment to apply new env vars
|
|
302
|
+
await this.triggerRedeployment(project.id);
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Trigger a redeployment
|
|
306
|
+
*/
|
|
307
|
+
async triggerRedeployment(projectId) {
|
|
308
|
+
const url = this.buildUrl(`/v13/deployments`);
|
|
309
|
+
// Get latest deployment and redeploy it
|
|
310
|
+
const deploymentsUrl = this.buildUrl(`/v6/deployments?projectId=${projectId}&limit=1`);
|
|
311
|
+
const deploymentsResponse = await fetch(deploymentsUrl, {
|
|
312
|
+
headers: this.getHeaders()
|
|
313
|
+
});
|
|
314
|
+
const deployments = await deploymentsResponse.json();
|
|
315
|
+
if (deployments.deployments && deployments.deployments[0]) {
|
|
316
|
+
const latestDeployment = deployments.deployments[0];
|
|
317
|
+
await fetch(url, {
|
|
318
|
+
method: 'POST',
|
|
319
|
+
headers: this.getHeaders(),
|
|
320
|
+
body: JSON.stringify({
|
|
321
|
+
deploymentId: latestDeployment.uid,
|
|
322
|
+
target: 'production'
|
|
323
|
+
})
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Add a custom domain to a project
|
|
329
|
+
*/
|
|
330
|
+
async addDomain(projectName, domain) {
|
|
331
|
+
const project = await this.getProject(projectName);
|
|
332
|
+
const url = this.buildUrl(`/v10/projects/${project.id}/domains`);
|
|
333
|
+
const response = await fetch(url, {
|
|
334
|
+
method: 'POST',
|
|
335
|
+
headers: this.getHeaders(),
|
|
336
|
+
body: JSON.stringify({ name: domain })
|
|
337
|
+
});
|
|
338
|
+
if (!response.ok && response.status !== 409) {
|
|
339
|
+
const error = await response.text();
|
|
340
|
+
throw new Error(`Failed to add domain: ${error}`);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Build API URL with team parameter
|
|
345
|
+
*/
|
|
346
|
+
buildUrl(path) {
|
|
347
|
+
const url = new URL(path, this.baseUrl);
|
|
348
|
+
if (this.teamId) {
|
|
349
|
+
url.searchParams.set('teamId', this.teamId);
|
|
350
|
+
}
|
|
351
|
+
return url.toString();
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Get request headers
|
|
355
|
+
*/
|
|
356
|
+
getHeaders() {
|
|
357
|
+
return {
|
|
358
|
+
'Authorization': `Bearer ${this.token}`,
|
|
359
|
+
'Content-Type': 'application/json'
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
//# sourceMappingURL=vercel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vercel.js","sourceRoot":"","sources":["../../src/clients/vercel.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* CuratedReels Deployment CLI
|
|
4
|
+
*
|
|
5
|
+
* White-label deployment tool that deploys CuratedReels to customer's
|
|
6
|
+
* infrastructure without exposing source code.
|
|
7
|
+
*/
|
|
8
|
+
import prompts from 'prompts';
|
|
9
|
+
import chalk from 'chalk';
|
|
10
|
+
import ora from 'ora';
|
|
11
|
+
import { DeploymentOrchestrator } from './orchestrator.js';
|
|
12
|
+
import { verifyLicense, mockVerifyLicense } from './services/license.js';
|
|
13
|
+
import { collectCredentials } from './utils/credentials.js';
|
|
14
|
+
import { downloadBundles, mockDownloadBundles } from './services/bundles.js';
|
|
15
|
+
const VERSION = '1.0.0';
|
|
16
|
+
// Check if running in CI mode with env vars
|
|
17
|
+
const isEnvMode = process.env.DEPLOY_CLI_ENV_MODE === 'true';
|
|
18
|
+
/**
|
|
19
|
+
* Get credentials from environment variables (for CI/testing)
|
|
20
|
+
*/
|
|
21
|
+
function getEnvCredentials() {
|
|
22
|
+
const required = ['PROJECT_NAME', 'VERCEL_TOKEN', 'DENO_TOKEN', 'MONGODB_URI', 'TELEGRAM_BOT_TOKEN'];
|
|
23
|
+
const missing = required.filter(key => !process.env[key]);
|
|
24
|
+
if (missing.length > 0) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
projectName: process.env.PROJECT_NAME,
|
|
29
|
+
vercelToken: process.env.VERCEL_TOKEN,
|
|
30
|
+
vercelTeamId: process.env.VERCEL_TEAM_ID,
|
|
31
|
+
denoToken: process.env.DENO_TOKEN,
|
|
32
|
+
denoOrg: process.env.DENO_ORG,
|
|
33
|
+
mongodbUri: process.env.MONGODB_URI,
|
|
34
|
+
telegramBotToken: process.env.TELEGRAM_BOT_TOKEN,
|
|
35
|
+
telegramGroupId: process.env.TELEGRAM_GROUP_ID,
|
|
36
|
+
cloudinaryCloudName: process.env.CLOUDINARY_CLOUD_NAME,
|
|
37
|
+
cloudinaryApiKey: process.env.CLOUDINARY_API_KEY,
|
|
38
|
+
cloudinaryApiSecret: process.env.CLOUDINARY_API_SECRET,
|
|
39
|
+
youtubeApiKey: process.env.YOUTUBE_API_KEY,
|
|
40
|
+
customDomain: process.env.CUSTOM_DOMAIN,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
async function showWelcome() {
|
|
44
|
+
console.log(chalk.cyan.bold('\nπ― CuratedReels Deployment CLI'));
|
|
45
|
+
console.log(chalk.gray(` Version ${VERSION}\n`));
|
|
46
|
+
console.log(chalk.white(' Deploy CuratedReels to your infrastructure'));
|
|
47
|
+
console.log(chalk.gray(' - Vercel (Frontend + CMS)'));
|
|
48
|
+
console.log(chalk.gray(' - Deno Deploy (Bot)'));
|
|
49
|
+
console.log(chalk.gray(' - MongoDB Atlas (Database)\n'));
|
|
50
|
+
}
|
|
51
|
+
async function verifyLicenseKey() {
|
|
52
|
+
let licenseKey;
|
|
53
|
+
if (isEnvMode && process.env.LICENSE_KEY) {
|
|
54
|
+
licenseKey = process.env.LICENSE_KEY;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
const response = await prompts({
|
|
58
|
+
type: 'password',
|
|
59
|
+
name: 'licenseKey',
|
|
60
|
+
message: 'Enter your CuratedReels license key:',
|
|
61
|
+
validate: (value) => value.length > 10 || 'License key is too short'
|
|
62
|
+
});
|
|
63
|
+
licenseKey = response.licenseKey;
|
|
64
|
+
}
|
|
65
|
+
if (!licenseKey) {
|
|
66
|
+
console.log(chalk.red('\nβ License key is required'));
|
|
67
|
+
process.exit(1);
|
|
68
|
+
}
|
|
69
|
+
const spinner = ora('Verifying license...').start();
|
|
70
|
+
try {
|
|
71
|
+
// Use mock verification in development
|
|
72
|
+
const verify = process.env.NODE_ENV === 'development' ? mockVerifyLicense : verifyLicense;
|
|
73
|
+
const isValid = await verify(licenseKey);
|
|
74
|
+
if (!isValid) {
|
|
75
|
+
spinner.fail('Invalid license key');
|
|
76
|
+
console.log(chalk.yellow('\nπ‘ Purchase a license at: https://curatedreels.com/pricing'));
|
|
77
|
+
process.exit(1);
|
|
78
|
+
}
|
|
79
|
+
spinner.succeed('License verified');
|
|
80
|
+
return licenseKey;
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
spinner.fail('License verification failed');
|
|
84
|
+
console.error(chalk.red(`\nβ Error: ${error instanceof Error ? error.message : String(error)}`));
|
|
85
|
+
process.exit(1);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
async function confirmDeployment() {
|
|
89
|
+
if (isEnvMode) {
|
|
90
|
+
// Skip confirmation in env mode
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const { confirm } = await prompts({
|
|
94
|
+
type: 'confirm',
|
|
95
|
+
name: 'confirm',
|
|
96
|
+
message: 'Ready to deploy CuratedReels to your infrastructure?',
|
|
97
|
+
initial: true
|
|
98
|
+
});
|
|
99
|
+
if (!confirm) {
|
|
100
|
+
console.log(chalk.yellow('\nβΈοΈ Deployment cancelled'));
|
|
101
|
+
process.exit(0);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
async function main() {
|
|
105
|
+
try {
|
|
106
|
+
await showWelcome();
|
|
107
|
+
// Step 1: Verify license
|
|
108
|
+
console.log(chalk.bold('\nπ Step 1: License Verification'));
|
|
109
|
+
const licenseKey = await verifyLicenseKey();
|
|
110
|
+
// Step 2: Collect credentials
|
|
111
|
+
console.log(chalk.bold('\nπ Step 2: Infrastructure Credentials'));
|
|
112
|
+
let credentials;
|
|
113
|
+
if (isEnvMode) {
|
|
114
|
+
const envCreds = getEnvCredentials();
|
|
115
|
+
if (!envCreds) {
|
|
116
|
+
console.log(chalk.red('\nβ Missing required environment variables'));
|
|
117
|
+
console.log(chalk.gray('Required: PROJECT_NAME, VERCEL_TOKEN, DENO_TOKEN, MONGODB_URI, TELEGRAM_BOT_TOKEN'));
|
|
118
|
+
process.exit(1);
|
|
119
|
+
}
|
|
120
|
+
credentials = envCreds;
|
|
121
|
+
console.log(chalk.green('β Using credentials from environment variables'));
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
credentials = await collectCredentials();
|
|
125
|
+
}
|
|
126
|
+
// Step 3: Download bundles
|
|
127
|
+
console.log(chalk.bold('\nπ¦ Step 3: Downloading Deployment Bundles'));
|
|
128
|
+
// Use mock bundles only if explicitly set, otherwise download real bundles
|
|
129
|
+
const useMockBundles = process.env.MOCK_BUNDLES === 'true';
|
|
130
|
+
const download = useMockBundles ? mockDownloadBundles : downloadBundles;
|
|
131
|
+
await download(licenseKey);
|
|
132
|
+
// Step 4: Confirm deployment
|
|
133
|
+
await confirmDeployment();
|
|
134
|
+
// Step 5: Deploy
|
|
135
|
+
console.log(chalk.bold('\nπ Step 4: Deploying to Your Infrastructure\n'));
|
|
136
|
+
const orchestrator = new DeploymentOrchestrator(credentials, licenseKey);
|
|
137
|
+
await orchestrator.deploy();
|
|
138
|
+
// Success!
|
|
139
|
+
console.log(chalk.green.bold('\nβ
Deployment Complete!\n'));
|
|
140
|
+
console.log(chalk.white('Your CuratedReels instance is live:\n'));
|
|
141
|
+
console.log(chalk.cyan(` π± Frontend: ${orchestrator.frontendUrl}`));
|
|
142
|
+
console.log(chalk.cyan(` βοΈ Admin: ${orchestrator.cmsUrl}/admin`));
|
|
143
|
+
console.log(chalk.cyan(` π€ Bot: ${orchestrator.botUrl}\n`));
|
|
144
|
+
console.log(chalk.white('Next steps:'));
|
|
145
|
+
console.log(chalk.gray(' 1. Add bot to Telegram: t.me/YourBotName'));
|
|
146
|
+
console.log(chalk.gray(' 2. Login to admin panel'));
|
|
147
|
+
console.log(chalk.gray(' 3. Configure your groups\n'));
|
|
148
|
+
console.log(chalk.white('Resources:'));
|
|
149
|
+
console.log(chalk.gray(' π Documentation: https://docs.curatedreels.com'));
|
|
150
|
+
console.log(chalk.gray(' π¬ Support: support@curatedreels.com\n'));
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
console.error(chalk.red(`\nβ Deployment failed:`));
|
|
154
|
+
console.error(chalk.red(` ${error instanceof Error ? error.message : String(error)}\n`));
|
|
155
|
+
console.log(chalk.yellow('π‘ Need help? Contact support@curatedreels.com\n'));
|
|
156
|
+
process.exit(1);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
// Handle SIGINT (Ctrl+C)
|
|
160
|
+
process.on('SIGINT', () => {
|
|
161
|
+
console.log(chalk.yellow('\n\nβΈοΈ Deployment interrupted'));
|
|
162
|
+
process.exit(0);
|
|
163
|
+
});
|
|
164
|
+
main();
|
|
165
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deployment Orchestrator
|
|
3
|
+
*
|
|
4
|
+
* Coordinates deployment to all customer infrastructure:
|
|
5
|
+
* - Vercel (Frontend + CMS)
|
|
6
|
+
* - Deno Deploy (Bot)
|
|
7
|
+
* - MongoDB Atlas (Database)
|
|
8
|
+
*/
|
|
9
|
+
import type { DeploymentCredentials } from './utils/credentials.js';
|
|
10
|
+
export declare class DeploymentOrchestrator {
|
|
11
|
+
private credentials;
|
|
12
|
+
private licenseKey;
|
|
13
|
+
private vercel;
|
|
14
|
+
private deno;
|
|
15
|
+
frontendUrl: string;
|
|
16
|
+
cmsUrl: string;
|
|
17
|
+
botUrl: string;
|
|
18
|
+
constructor(credentials: DeploymentCredentials, licenseKey: string);
|
|
19
|
+
/**
|
|
20
|
+
* Main deployment flow
|
|
21
|
+
*/
|
|
22
|
+
deploy(): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Deploy and configure MongoDB
|
|
25
|
+
*/
|
|
26
|
+
private deployMongoDB;
|
|
27
|
+
/**
|
|
28
|
+
* Deploy CMS to Vercel
|
|
29
|
+
*/
|
|
30
|
+
private deployCMS;
|
|
31
|
+
/**
|
|
32
|
+
* Deploy Frontend to Vercel
|
|
33
|
+
*/
|
|
34
|
+
private deployFrontend;
|
|
35
|
+
/**
|
|
36
|
+
* Deploy Bot to Deno Deploy
|
|
37
|
+
*/
|
|
38
|
+
private deployBot;
|
|
39
|
+
/**
|
|
40
|
+
* Register deployment with license server
|
|
41
|
+
*/
|
|
42
|
+
private registerDeployment;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=orchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAOnE,qBAAa,sBAAsB;IAS3B,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,UAAU;IATtB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,IAAI,CAAY;IAEjB,WAAW,EAAE,MAAM,CAAK;IACxB,MAAM,EAAE,MAAM,CAAK;IACnB,MAAM,EAAE,MAAM,CAAK;gBAGd,WAAW,EAAE,qBAAqB,EAClC,UAAU,EAAE,MAAM;IAM9B;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B7B;;OAEG;YACW,aAAa;IAY3B;;OAEG;YACW,SAAS;IA2CvB;;OAEG;YACW,cAAc;IAuC5B;;OAEG;YACW,SAAS;IAuCvB;;OAEG;YACW,kBAAkB;CAiBnC"}
|