@tonk/cli 0.2.7 → 0.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.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAwVlC,eAAO,MAAM,aAAa,SAkBI,CAAC"}
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import fs from 'fs-extra';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import { execSync } from 'child_process';
|
|
6
|
+
import inquirer from 'inquirer';
|
|
7
|
+
import ora from 'ora';
|
|
8
|
+
import tar from 'tar';
|
|
9
|
+
import { trackCommand, trackCommandError, trackCommandSuccess, } from '../utils/analytics.js';
|
|
10
|
+
const DEPLOYMENT_SERVICE_URL = process.env.TONK_DEPLOYMENT_SERVICE_URL ||
|
|
11
|
+
'http://ec2-51-20-65-254.eu-north-1.compute.amazonaws.com:4444';
|
|
12
|
+
/**
|
|
13
|
+
* Checks if the deployment service is reachable
|
|
14
|
+
*/
|
|
15
|
+
async function checkDeploymentService() {
|
|
16
|
+
try {
|
|
17
|
+
const response = await fetch(`${DEPLOYMENT_SERVICE_URL}/health`);
|
|
18
|
+
if (!response.ok) {
|
|
19
|
+
throw new Error(`Service returned ${response.status}`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
console.error(chalk.red('Error: Tonk deployment service is not available.'));
|
|
24
|
+
console.log(chalk.yellow('Please reach out for support or try again later.'));
|
|
25
|
+
process.exit(1);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Reads the tonk.config.json file to get project information
|
|
30
|
+
*/
|
|
31
|
+
function readTonkConfig() {
|
|
32
|
+
const configPath = path.join(process.cwd(), 'tonk.config.json');
|
|
33
|
+
if (!fs.existsSync(configPath)) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
try {
|
|
37
|
+
return JSON.parse(fs.readFileSync(configPath, 'utf8'));
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
console.warn(chalk.yellow('Warning: Could not parse tonk.config.json'));
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Reads package.json to get project information
|
|
46
|
+
*/
|
|
47
|
+
function readPackageJson() {
|
|
48
|
+
const packagePath = path.join(process.cwd(), 'package.json');
|
|
49
|
+
if (!fs.existsSync(packagePath)) {
|
|
50
|
+
throw new Error('package.json not found. Are you in a Tonk project directory?');
|
|
51
|
+
}
|
|
52
|
+
try {
|
|
53
|
+
return JSON.parse(fs.readFileSync(packagePath, 'utf8'));
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
throw new Error('Could not parse package.json');
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Determines the app name for deployment
|
|
61
|
+
*/
|
|
62
|
+
function determineAppName(options, tonkConfig, packageJson) {
|
|
63
|
+
if (options.name) {
|
|
64
|
+
return options.name;
|
|
65
|
+
}
|
|
66
|
+
if (tonkConfig?.name) {
|
|
67
|
+
return tonkConfig.name.replace(/[^a-zA-Z0-9-]/g, '-').toLowerCase();
|
|
68
|
+
}
|
|
69
|
+
if (packageJson?.name) {
|
|
70
|
+
return packageJson.name
|
|
71
|
+
.replace(/^@.*\//, '')
|
|
72
|
+
.replace(/[^a-zA-Z0-9-]/g, '-')
|
|
73
|
+
.toLowerCase();
|
|
74
|
+
}
|
|
75
|
+
return path
|
|
76
|
+
.basename(process.cwd())
|
|
77
|
+
.replace(/[^a-zA-Z0-9-]/g, '-')
|
|
78
|
+
.toLowerCase();
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Creates an app bundle for deployment
|
|
82
|
+
*/
|
|
83
|
+
async function createAppBundle() {
|
|
84
|
+
const spinner = ora('Creating app bundle...').start();
|
|
85
|
+
try {
|
|
86
|
+
const bundlePath = path.join('/tmp', `tonk-app-${Date.now()}.tar.gz`);
|
|
87
|
+
const cwd = process.cwd();
|
|
88
|
+
// Create tar archive excluding node_modules, .git, etc.
|
|
89
|
+
await tar.create({
|
|
90
|
+
file: bundlePath,
|
|
91
|
+
cwd,
|
|
92
|
+
gzip: true,
|
|
93
|
+
filter: (filePath) => {
|
|
94
|
+
const exclude = [
|
|
95
|
+
'node_modules',
|
|
96
|
+
'.git',
|
|
97
|
+
'.env',
|
|
98
|
+
'dist',
|
|
99
|
+
'.next',
|
|
100
|
+
'coverage',
|
|
101
|
+
'*.log',
|
|
102
|
+
'.DS_Store',
|
|
103
|
+
'Thumbs.db',
|
|
104
|
+
];
|
|
105
|
+
return !exclude.some(pattern => filePath.includes(pattern));
|
|
106
|
+
},
|
|
107
|
+
}, ['.']);
|
|
108
|
+
spinner.succeed('App bundle created');
|
|
109
|
+
return bundlePath;
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
spinner.fail('Failed to create app bundle');
|
|
113
|
+
throw error;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Builds the Tonk app if needed
|
|
118
|
+
*/
|
|
119
|
+
async function buildApp(skipBuild) {
|
|
120
|
+
if (skipBuild) {
|
|
121
|
+
console.log(chalk.yellow('Skipping build step'));
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
const spinner = ora('Building Tonk app...').start();
|
|
125
|
+
try {
|
|
126
|
+
execSync('npm run build', { stdio: 'pipe' });
|
|
127
|
+
spinner.succeed('App built successfully');
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
spinner.fail('Build failed');
|
|
131
|
+
throw new Error('Failed to build app. Make sure you have a build script in package.json');
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Deploys the app using the Tonk deployment service
|
|
136
|
+
*/
|
|
137
|
+
async function deployApp(appName, options, tonkConfig, packageJson) {
|
|
138
|
+
const spinner = ora('Deploying...').start();
|
|
139
|
+
try {
|
|
140
|
+
// Create app bundle
|
|
141
|
+
spinner.text = 'Creating app bundle...';
|
|
142
|
+
const bundlePath = await createAppBundle();
|
|
143
|
+
// Stop spinner before prompting for access code
|
|
144
|
+
spinner.stop();
|
|
145
|
+
// Prompt for access code
|
|
146
|
+
const { accessCode } = await inquirer.prompt([
|
|
147
|
+
{
|
|
148
|
+
type: 'password',
|
|
149
|
+
name: 'accessCode',
|
|
150
|
+
message: 'Enter your access code:',
|
|
151
|
+
mask: '*',
|
|
152
|
+
validate: (input) => {
|
|
153
|
+
if (!input || input.trim().length === 0) {
|
|
154
|
+
return 'Access code is required';
|
|
155
|
+
}
|
|
156
|
+
return true;
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
]);
|
|
160
|
+
// Restart spinner for upload
|
|
161
|
+
spinner.start();
|
|
162
|
+
// Prepare form data
|
|
163
|
+
const formData = new FormData();
|
|
164
|
+
const bundleBuffer = fs.readFileSync(bundlePath);
|
|
165
|
+
const bundleBlob = new Blob([bundleBuffer], { type: 'application/gzip' });
|
|
166
|
+
formData.append('appBundle', bundleBlob, 'app-bundle.tar.gz');
|
|
167
|
+
formData.append('deployData', JSON.stringify({
|
|
168
|
+
appName,
|
|
169
|
+
accessCode: accessCode.trim(),
|
|
170
|
+
region: options.region || 'ord',
|
|
171
|
+
memory: options.memory || '1gb',
|
|
172
|
+
cpus: options.cpus || '1',
|
|
173
|
+
remote: options.remote || false,
|
|
174
|
+
tonkConfig,
|
|
175
|
+
packageJson,
|
|
176
|
+
}));
|
|
177
|
+
// Send deployment request
|
|
178
|
+
spinner.text = 'Uploading to deployment service...';
|
|
179
|
+
const response = await fetch(`${DEPLOYMENT_SERVICE_URL}/deploy`, {
|
|
180
|
+
method: 'POST',
|
|
181
|
+
body: formData,
|
|
182
|
+
});
|
|
183
|
+
const result = await response.json();
|
|
184
|
+
// Clean up bundle file
|
|
185
|
+
fs.removeSync(bundlePath);
|
|
186
|
+
if (!response.ok || !result.success) {
|
|
187
|
+
throw new Error(result.error || 'Deployment failed');
|
|
188
|
+
}
|
|
189
|
+
spinner.succeed('Deployment successful!');
|
|
190
|
+
console.log(chalk.green(`🚀 Your Tonk app is deployed!`));
|
|
191
|
+
console.log(chalk.blue(` URL: ${result.appUrl}`));
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
spinner.fail('Deployment failed');
|
|
195
|
+
throw error;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Main deploy command handler
|
|
200
|
+
*/
|
|
201
|
+
async function handleDeployCommand(options) {
|
|
202
|
+
const startTime = Date.now();
|
|
203
|
+
try {
|
|
204
|
+
trackCommand('deploy', {
|
|
205
|
+
name: options.name,
|
|
206
|
+
region: options.region,
|
|
207
|
+
memory: options.memory,
|
|
208
|
+
cpus: options.cpus,
|
|
209
|
+
skipBuild: options.skipBuild,
|
|
210
|
+
remote: options.remote,
|
|
211
|
+
});
|
|
212
|
+
console.log(chalk.cyan('🚀 Tonk Deploy\n'));
|
|
213
|
+
// Check prerequisites
|
|
214
|
+
console.log(chalk.blue('Checking prerequisites...'));
|
|
215
|
+
await checkDeploymentService();
|
|
216
|
+
// Read project configuration
|
|
217
|
+
const tonkConfig = readTonkConfig();
|
|
218
|
+
const packageJson = readPackageJson();
|
|
219
|
+
const appName = determineAppName(options, tonkConfig, packageJson);
|
|
220
|
+
console.log(chalk.green(`✓ App name: ${appName}`));
|
|
221
|
+
// Confirm deployment
|
|
222
|
+
if (!options.name) {
|
|
223
|
+
const { confirm } = await inquirer.prompt([
|
|
224
|
+
{
|
|
225
|
+
type: 'confirm',
|
|
226
|
+
name: 'confirm',
|
|
227
|
+
message: `Deploy "${appName}"?`,
|
|
228
|
+
default: true,
|
|
229
|
+
},
|
|
230
|
+
]);
|
|
231
|
+
if (!confirm) {
|
|
232
|
+
console.log(chalk.yellow('Deployment cancelled'));
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
// Build the app
|
|
237
|
+
await buildApp(options.skipBuild || false);
|
|
238
|
+
// Deploy using the Tonk deployment service
|
|
239
|
+
await deployApp(appName, options, tonkConfig, packageJson);
|
|
240
|
+
const duration = Date.now() - startTime;
|
|
241
|
+
trackCommandSuccess('deploy', duration, {
|
|
242
|
+
appName,
|
|
243
|
+
region: options.region,
|
|
244
|
+
memory: options.memory,
|
|
245
|
+
cpus: options.cpus,
|
|
246
|
+
remote: options.remote,
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
catch (error) {
|
|
250
|
+
const duration = Date.now() - startTime;
|
|
251
|
+
trackCommandError('deploy', error, duration, {
|
|
252
|
+
name: options.name,
|
|
253
|
+
region: options.region,
|
|
254
|
+
});
|
|
255
|
+
console.error(chalk.red(`Error: ${error instanceof Error ? error.message : String(error)}`));
|
|
256
|
+
process.exit(1);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
export const deployCommand = new Command('deploy')
|
|
260
|
+
.description('Deploy a Tonk app with one-touch hosting')
|
|
261
|
+
.option('-n, --name <name>', 'Name for the deployed app (defaults to package.json name)')
|
|
262
|
+
.option('-r, --region <region>', 'Region to deploy to', 'ord')
|
|
263
|
+
.option('-m, --memory <memory>', 'Memory allocation (e.g., 256mb, 1gb)', '1gb')
|
|
264
|
+
.option('-c, --cpus <cpus>', 'Number of CPUs', '1')
|
|
265
|
+
.option('--skip-build', 'Skip the build step')
|
|
266
|
+
.option('--remote', 'Use remote Docker build (slower but works with limited local resources)')
|
|
267
|
+
.action(handleDeployCommand);
|
|
268
|
+
//# sourceMappingURL=deploy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
|
package/dist/tonk.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import { createCommand } from './commands/create.js';
|
|
3
|
+
import { deployCommand } from './commands/deploy.js';
|
|
3
4
|
import { helloCommand } from './commands/hello.js';
|
|
4
5
|
import { lsCommand } from './commands/ls.js';
|
|
5
6
|
import { psCommand } from './commands/ps.js';
|
|
@@ -13,19 +14,21 @@ import chalk from 'chalk';
|
|
|
13
14
|
import envPaths from 'env-paths';
|
|
14
15
|
import fs from 'node:fs';
|
|
15
16
|
import path from 'node:path';
|
|
17
|
+
import pkg from '../package.json' with { type: 'json' };
|
|
16
18
|
import { shutdownAnalytics, trackCommand, trackCommandError, trackCommandSuccess } from './utils/analytics.js';
|
|
17
19
|
const program = new Command();
|
|
18
20
|
// Main program setup
|
|
19
21
|
program
|
|
20
22
|
.name('tonk')
|
|
21
23
|
.description('The tonk cli helps you to manage your tonk stack and apps.')
|
|
22
|
-
.version(
|
|
24
|
+
.version(pkg.version)
|
|
23
25
|
.option('-d', 'Run the Tonk daemon')
|
|
24
26
|
.on('--help', () => {
|
|
25
27
|
console.log('\nWork in progress!');
|
|
26
28
|
});
|
|
27
29
|
program.addCommand(helloCommand);
|
|
28
30
|
program.addCommand(createCommand);
|
|
31
|
+
program.addCommand(deployCommand);
|
|
29
32
|
// Add bundle management commands
|
|
30
33
|
program.addCommand(pushCommand);
|
|
31
34
|
program.addCommand(startCommand);
|
package/dist/tonk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tonk.js","sourceRoot":"","sources":["../src/tonk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AAE7G,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"tonk.js","sourceRoot":"","sources":["../src/tonk.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,13 +87,13 @@ export declare const WorkerConfigSchema: z.ZodObject<{
|
|
|
87
87
|
};
|
|
88
88
|
endpoint: string;
|
|
89
89
|
protocol: string;
|
|
90
|
+
version?: string | undefined;
|
|
90
91
|
healthCheck?: {
|
|
91
92
|
method: string;
|
|
92
93
|
timeout: number;
|
|
93
94
|
interval: number;
|
|
94
95
|
endpoint?: string | undefined;
|
|
95
96
|
} | undefined;
|
|
96
|
-
version?: string | undefined;
|
|
97
97
|
description?: string | undefined;
|
|
98
98
|
config?: Record<string, any> | undefined;
|
|
99
99
|
}, {
|
|
@@ -108,13 +108,13 @@ export declare const WorkerConfigSchema: z.ZodObject<{
|
|
|
108
108
|
max_memory_restart?: string | undefined;
|
|
109
109
|
};
|
|
110
110
|
endpoint: string;
|
|
111
|
+
version?: string | undefined;
|
|
111
112
|
healthCheck?: {
|
|
112
113
|
method?: string | undefined;
|
|
113
114
|
endpoint?: string | undefined;
|
|
114
115
|
timeout?: number | undefined;
|
|
115
116
|
interval?: number | undefined;
|
|
116
117
|
} | undefined;
|
|
117
|
-
version?: string | undefined;
|
|
118
118
|
description?: string | undefined;
|
|
119
119
|
protocol?: string | undefined;
|
|
120
120
|
config?: Record<string, any> | undefined;
|