@tonk/cli 0.3.3 → 0.6.5
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 +15 -202
- package/bin/tonk.js +36 -1
- package/package.json +23 -89
- package/dist/commands/auth.d.ts +0 -3
- package/dist/commands/auth.d.ts.map +0 -1
- package/dist/commands/auth.js +0 -184
- package/dist/commands/auth.js.map +0 -1
- package/dist/commands/create.d.ts +0 -3
- package/dist/commands/create.d.ts.map +0 -1
- package/dist/commands/create.js +0 -55
- package/dist/commands/create.js.map +0 -1
- package/dist/commands/delete.d.ts +0 -3
- package/dist/commands/delete.d.ts.map +0 -1
- package/dist/commands/delete.js +0 -67
- package/dist/commands/delete.js.map +0 -1
- package/dist/commands/deploy.d.ts +0 -3
- package/dist/commands/deploy.d.ts.map +0 -1
- package/dist/commands/deploy.js +0 -336
- package/dist/commands/deploy.js.map +0 -1
- package/dist/commands/hello/index.d.ts +0 -3
- package/dist/commands/hello/index.d.ts.map +0 -1
- package/dist/commands/hello/index.js +0 -296
- package/dist/commands/hello/index.js.map +0 -1
- package/dist/commands/hello.d.ts +0 -3
- package/dist/commands/hello.d.ts.map +0 -1
- package/dist/commands/hello.js +0 -83
- package/dist/commands/hello.js.map +0 -1
- package/dist/commands/init.d.ts +0 -3
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -137
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/kill.d.ts +0 -3
- package/dist/commands/kill.d.ts.map +0 -1
- package/dist/commands/kill.js +0 -66
- package/dist/commands/kill.js.map +0 -1
- package/dist/commands/ls.d.ts +0 -3
- package/dist/commands/ls.d.ts.map +0 -1
- package/dist/commands/ls.js +0 -52
- package/dist/commands/ls.js.map +0 -1
- package/dist/commands/proxy.d.ts +0 -3
- package/dist/commands/proxy.d.ts.map +0 -1
- package/dist/commands/proxy.js +0 -86
- package/dist/commands/proxy.js.map +0 -1
- package/dist/commands/ps.d.ts +0 -3
- package/dist/commands/ps.d.ts.map +0 -1
- package/dist/commands/ps.js +0 -56
- package/dist/commands/ps.js.map +0 -1
- package/dist/commands/push.d.ts +0 -3
- package/dist/commands/push.d.ts.map +0 -1
- package/dist/commands/push.js +0 -238
- package/dist/commands/push.js.map +0 -1
- package/dist/commands/server.d.ts +0 -3
- package/dist/commands/server.d.ts.map +0 -1
- package/dist/commands/server.js +0 -676
- package/dist/commands/server.js.map +0 -1
- package/dist/commands/start.d.ts +0 -3
- package/dist/commands/start.d.ts.map +0 -1
- package/dist/commands/start.js +0 -82
- package/dist/commands/start.js.map +0 -1
- package/dist/commands/worker/commands.d.ts +0 -42
- package/dist/commands/worker/commands.d.ts.map +0 -1
- package/dist/commands/worker/commands.js +0 -968
- package/dist/commands/worker/commands.js.map +0 -1
- package/dist/commands/worker/index.d.ts +0 -7
- package/dist/commands/worker/index.d.ts.map +0 -1
- package/dist/commands/worker/index.js +0 -30
- package/dist/commands/worker/index.js.map +0 -1
- package/dist/commands/worker/utils/config.d.ts +0 -26
- package/dist/commands/worker/utils/config.d.ts.map +0 -1
- package/dist/commands/worker/utils/config.js +0 -197
- package/dist/commands/worker/utils/config.js.map +0 -1
- package/dist/commands/worker/utils/display.d.ts +0 -6
- package/dist/commands/worker/utils/display.d.ts.map +0 -1
- package/dist/commands/worker/utils/display.js +0 -32
- package/dist/commands/worker/utils/display.js.map +0 -1
- package/dist/commands/worker/utils/finder.d.ts +0 -12
- package/dist/commands/worker/utils/finder.d.ts.map +0 -1
- package/dist/commands/worker/utils/finder.js +0 -60
- package/dist/commands/worker/utils/finder.js.map +0 -1
- package/dist/config/environment.d.ts +0 -52
- package/dist/config/environment.d.ts.map +0 -1
- package/dist/config/environment.js +0 -83
- package/dist/config/environment.js.map +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -3
- package/dist/index.js.map +0 -1
- package/dist/lib/tonkAuth.d.ts +0 -21
- package/dist/lib/tonkAuth.d.ts.map +0 -1
- package/dist/lib/tonkAuth.js +0 -140
- package/dist/lib/tonkAuth.js.map +0 -1
- package/dist/lib/workerManager.d.ts +0 -60
- package/dist/lib/workerManager.d.ts.map +0 -1
- package/dist/lib/workerManager.js +0 -417
- package/dist/lib/workerManager.js.map +0 -1
- package/dist/scripts/aws/create-key.sh +0 -20
- package/dist/scripts/aws/ec2-dns.sh +0 -20
- package/dist/scripts/aws/provision.sh +0 -93
- package/dist/tonk.d.ts +0 -2
- package/dist/tonk.d.ts.map +0 -1
- package/dist/tonk.js +0 -106
- package/dist/tonk.js.map +0 -1
- package/dist/types/worker.d.ts +0 -161
- package/dist/types/worker.d.ts.map +0 -1
- package/dist/types/worker.js +0 -7
- package/dist/types/worker.js.map +0 -1
- package/dist/types/workerConfig.d.ts +0 -164
- package/dist/types/workerConfig.d.ts.map +0 -1
- package/dist/types/workerConfig.js +0 -80
- package/dist/types/workerConfig.js.map +0 -1
- package/dist/utils/analytics.d.ts +0 -26
- package/dist/utils/analytics.d.ts.map +0 -1
- package/dist/utils/analytics.js +0 -218
- package/dist/utils/analytics.js.map +0 -1
- package/dist/utils/messages.d.ts +0 -6
- package/dist/utils/messages.d.ts.map +0 -1
- package/dist/utils/messages.js +0 -18
- package/dist/utils/messages.js.map +0 -1
- package/dist/utils/serverUtils.d.ts +0 -5
- package/dist/utils/serverUtils.d.ts.map +0 -1
- package/dist/utils/serverUtils.js +0 -34
- package/dist/utils/serverUtils.js.map +0 -1
- package/dist/utils/version.d.ts +0 -2
- package/dist/utils/version.d.ts.map +0 -1
- package/dist/utils/version.js +0 -3
- package/dist/utils/version.js.map +0 -1
- package/scripts/aws/create-key.sh +0 -20
- package/scripts/aws/ec2-dns.sh +0 -20
- package/scripts/aws/provision.sh +0 -93
package/dist/commands/ls.js
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import chalk from 'chalk';
|
|
3
|
-
import fetch from 'node-fetch';
|
|
4
|
-
import { trackCommand, trackCommandError, trackCommandSuccess, shutdownAnalytics, } from '../utils/analytics.js';
|
|
5
|
-
import { getServerConfig } from '../config/environment.js';
|
|
6
|
-
export const lsCommand = new Command('ls')
|
|
7
|
-
.description('List available bundles on the Tonk server')
|
|
8
|
-
.option('-u, --url <url>', 'URL of the Tonk server', getServerConfig().defaultUrl)
|
|
9
|
-
.action(async (options) => {
|
|
10
|
-
const startTime = Date.now();
|
|
11
|
-
const serverUrl = options.url;
|
|
12
|
-
try {
|
|
13
|
-
trackCommand('ls', { serverUrl });
|
|
14
|
-
console.log(chalk.blue(`Fetching bundle list from ${serverUrl}...`));
|
|
15
|
-
const response = await fetch(`${serverUrl}/ls`);
|
|
16
|
-
if (!response.ok) {
|
|
17
|
-
const error = await response.text();
|
|
18
|
-
throw new Error(`Server error: ${error}`);
|
|
19
|
-
}
|
|
20
|
-
const bundles = (await response.json());
|
|
21
|
-
if (bundles.length === 0) {
|
|
22
|
-
console.log(chalk.yellow('No bundles found on the server.'));
|
|
23
|
-
const duration = Date.now() - startTime;
|
|
24
|
-
trackCommandSuccess('ls', duration, {
|
|
25
|
-
serverUrl,
|
|
26
|
-
bundleCount: 0,
|
|
27
|
-
});
|
|
28
|
-
await shutdownAnalytics();
|
|
29
|
-
}
|
|
30
|
-
console.log(chalk.green(`Available bundles (${bundles.length}):`));
|
|
31
|
-
bundles.forEach((bundle) => {
|
|
32
|
-
console.log(` - ${bundle}`);
|
|
33
|
-
});
|
|
34
|
-
const duration = Date.now() - startTime;
|
|
35
|
-
trackCommandSuccess('ls', duration, {
|
|
36
|
-
serverUrl,
|
|
37
|
-
bundleCount: bundles.length,
|
|
38
|
-
bundles,
|
|
39
|
-
});
|
|
40
|
-
await shutdownAnalytics();
|
|
41
|
-
}
|
|
42
|
-
catch (error) {
|
|
43
|
-
const duration = Date.now() - startTime;
|
|
44
|
-
trackCommandError('ls', error, duration, {
|
|
45
|
-
serverUrl,
|
|
46
|
-
});
|
|
47
|
-
console.error(chalk.red(`Error: ${error instanceof Error ? error.message : String(error)}`));
|
|
48
|
-
await shutdownAnalytics();
|
|
49
|
-
process.exitCode = 1;
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
//# sourceMappingURL=ls.js.map
|
package/dist/commands/ls.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ls.js","sourceRoot":"","sources":["../../src/commands/ls.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/proxy.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/commands/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,eAAO,MAAM,YAAY,SA6GrB,CAAC"}
|
package/dist/commands/proxy.js
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import chalk from 'chalk';
|
|
3
|
-
import fetch from 'node-fetch';
|
|
4
|
-
import { spawn } from 'child_process';
|
|
5
|
-
import { trackCommand, trackCommandError, trackCommandSuccess, shutdownAnalytics, } from '../utils/analytics.js';
|
|
6
|
-
import { getServerConfig } from '../config/environment.js';
|
|
7
|
-
export const proxyCommand = new Command('proxy')
|
|
8
|
-
.description('Create a reverse proxy to access a Tonk bundle')
|
|
9
|
-
.option('-u, --url <url>', 'URL of the Tonk server', getServerConfig().defaultUrl)
|
|
10
|
-
.argument('<bundleName>', 'Name of the bundle to proxy')
|
|
11
|
-
.action(async (bundleName, options) => {
|
|
12
|
-
const startTime = Date.now();
|
|
13
|
-
const serverUrl = options.url;
|
|
14
|
-
try {
|
|
15
|
-
trackCommand('proxy', {
|
|
16
|
-
bundleName,
|
|
17
|
-
serverUrl,
|
|
18
|
-
});
|
|
19
|
-
console.log(chalk.blue(`Setting up proxy for bundle ${bundleName}...`));
|
|
20
|
-
// First, check if the bundle is running
|
|
21
|
-
const response = await fetch(`${serverUrl}/ps`, {
|
|
22
|
-
method: 'GET',
|
|
23
|
-
headers: {
|
|
24
|
-
'Content-Type': 'application/json',
|
|
25
|
-
},
|
|
26
|
-
});
|
|
27
|
-
if (!response.ok) {
|
|
28
|
-
const errorText = await response.text();
|
|
29
|
-
throw new Error(`Server error: ${errorText}`);
|
|
30
|
-
}
|
|
31
|
-
const runningBundles = (await response.json());
|
|
32
|
-
const targetBundle = runningBundles.find(bundle => bundle.bundleName === bundleName);
|
|
33
|
-
if (!targetBundle) {
|
|
34
|
-
throw new Error(`Bundle '${bundleName}' is not running. Start it first with 'tonk start ${bundleName}'`);
|
|
35
|
-
}
|
|
36
|
-
console.log(chalk.green(`Found running bundle: ${targetBundle.bundleName}`));
|
|
37
|
-
console.log(chalk.green(`Bundle port: ${targetBundle.port}`));
|
|
38
|
-
console.log(chalk.blue(`Creating SSH tunnel with Pinggy...`));
|
|
39
|
-
const duration = Date.now() - startTime;
|
|
40
|
-
trackCommandSuccess('proxy', duration, {
|
|
41
|
-
bundleName,
|
|
42
|
-
serverUrl,
|
|
43
|
-
bundlePort: targetBundle.port,
|
|
44
|
-
bundleId: targetBundle.id,
|
|
45
|
-
});
|
|
46
|
-
// Create SSH tunnel using Pinggy
|
|
47
|
-
const sshProcess = spawn('ssh', [
|
|
48
|
-
'-p',
|
|
49
|
-
'443',
|
|
50
|
-
'-R0:localhost:' + targetBundle.port,
|
|
51
|
-
'qr@free.pinggy.io',
|
|
52
|
-
], {
|
|
53
|
-
stdio: 'inherit', // This will show the QR code and URLs directly in the terminal
|
|
54
|
-
});
|
|
55
|
-
// Handle process exit
|
|
56
|
-
sshProcess.on('close', code => {
|
|
57
|
-
if (code !== 0) {
|
|
58
|
-
console.log(chalk.yellow(`SSH tunnel closed with code ${code}`));
|
|
59
|
-
}
|
|
60
|
-
console.log(chalk.green('Proxy connection terminated.'));
|
|
61
|
-
});
|
|
62
|
-
// Handle errors
|
|
63
|
-
sshProcess.on('error', async (err) => {
|
|
64
|
-
console.error(chalk.red(`Error creating SSH tunnel: ${err.message}`));
|
|
65
|
-
await shutdownAnalytics();
|
|
66
|
-
process.exit(1);
|
|
67
|
-
});
|
|
68
|
-
console.log(chalk.blue(`Press Ctrl+C to stop the proxy`));
|
|
69
|
-
// Handle SIGINT (Ctrl+C)
|
|
70
|
-
process.on('SIGINT', () => {
|
|
71
|
-
console.log(chalk.yellow('\nShutting down proxy...'));
|
|
72
|
-
sshProcess.kill();
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
catch (error) {
|
|
76
|
-
const duration = Date.now() - startTime;
|
|
77
|
-
trackCommandError('proxy', error, duration, {
|
|
78
|
-
bundleName,
|
|
79
|
-
serverUrl,
|
|
80
|
-
});
|
|
81
|
-
console.error(chalk.red(`Error: ${error instanceof Error ? error.message : String(error)}`));
|
|
82
|
-
await shutdownAnalytics();
|
|
83
|
-
process.exit(1);
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
//# sourceMappingURL=proxy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/commands/proxy.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/ps.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ps.d.ts","sourceRoot":"","sources":["../../src/commands/ps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC,eAAO,MAAM,SAAS,SA2ElB,CAAC"}
|
package/dist/commands/ps.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import chalk from 'chalk';
|
|
3
|
-
import fetch from 'node-fetch';
|
|
4
|
-
import { trackCommand, trackCommandError, trackCommandSuccess, shutdownAnalytics, } from '../utils/analytics.js';
|
|
5
|
-
import { getServerConfig } from '../config/environment.js';
|
|
6
|
-
export const psCommand = new Command('ps')
|
|
7
|
-
.description('List running bundles')
|
|
8
|
-
.option('-u, --url <url>', 'URL of the Tonk server', getServerConfig().defaultUrl)
|
|
9
|
-
.action(async (options) => {
|
|
10
|
-
const startTime = Date.now();
|
|
11
|
-
const serverUrl = options.url;
|
|
12
|
-
try {
|
|
13
|
-
trackCommand('ps', { serverUrl });
|
|
14
|
-
console.log(chalk.blue(`Fetching running servers from ${serverUrl}...`));
|
|
15
|
-
const response = await fetch(`${serverUrl}/ps`);
|
|
16
|
-
if (!response.ok) {
|
|
17
|
-
const error = await response.text();
|
|
18
|
-
throw new Error(`Server error: ${error}`);
|
|
19
|
-
}
|
|
20
|
-
const servers = (await response.json());
|
|
21
|
-
if (servers.length === 0) {
|
|
22
|
-
console.log(chalk.yellow('No servers currently running.'));
|
|
23
|
-
const duration = Date.now() - startTime;
|
|
24
|
-
trackCommandSuccess('ps', duration, {
|
|
25
|
-
serverUrl,
|
|
26
|
-
serverCount: 0,
|
|
27
|
-
});
|
|
28
|
-
await shutdownAnalytics();
|
|
29
|
-
}
|
|
30
|
-
console.log(chalk.green(`Running bundles (${servers.length}):`));
|
|
31
|
-
// Format the output as a table
|
|
32
|
-
console.log(`${chalk.bold('ID'.padEnd(36))} | ${chalk.bold('Bundle'.padEnd(20))} | ${chalk.bold('Route/Port'.padEnd(15))} | ${chalk.bold('Status')}`);
|
|
33
|
-
console.log('-'.repeat(85));
|
|
34
|
-
servers.forEach((server) => {
|
|
35
|
-
const routeOrPort = server.route || (server.port ? `:${server.port}` : 'N/A');
|
|
36
|
-
console.log(`${server.id.padEnd(36)} | ${server.bundleName.padEnd(20)} | ${routeOrPort.padEnd(15)} | ${server.status}`);
|
|
37
|
-
});
|
|
38
|
-
const duration = Date.now() - startTime;
|
|
39
|
-
trackCommandSuccess('ps', duration, {
|
|
40
|
-
serverUrl,
|
|
41
|
-
serverCount: servers.length,
|
|
42
|
-
bundleNames: servers.map(s => s.bundleName),
|
|
43
|
-
});
|
|
44
|
-
await shutdownAnalytics();
|
|
45
|
-
}
|
|
46
|
-
catch (error) {
|
|
47
|
-
const duration = Date.now() - startTime;
|
|
48
|
-
trackCommandError('ps', error, duration, {
|
|
49
|
-
serverUrl,
|
|
50
|
-
});
|
|
51
|
-
console.error(chalk.red(`Error: ${error instanceof Error ? error.message : String(error)}`));
|
|
52
|
-
await shutdownAnalytics();
|
|
53
|
-
process.exitCode = 1;
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
//# sourceMappingURL=ps.js.map
|
package/dist/commands/ps.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ps.js","sourceRoot":"","sources":["../../src/commands/ps.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/push.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6VpC,eAAO,MAAM,WAAW,SAkBI,CAAC"}
|
package/dist/commands/push.js
DELETED
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import chalk from 'chalk';
|
|
3
|
-
import fs from 'fs-extra';
|
|
4
|
-
import path from 'path';
|
|
5
|
-
import fetch from 'node-fetch';
|
|
6
|
-
import { FormData } from 'formdata-node';
|
|
7
|
-
import { fileFromPath } from 'formdata-node/file-from-path';
|
|
8
|
-
import { FormDataEncoder } from 'form-data-encoder';
|
|
9
|
-
import { Readable } from 'stream';
|
|
10
|
-
import * as tar from 'tar';
|
|
11
|
-
import { spawn } from 'child_process';
|
|
12
|
-
import { trackCommand, trackCommandError, trackCommandSuccess, shutdownAnalytics, } from '../utils/analytics.js';
|
|
13
|
-
import { getServerConfig } from '../config/environment.js';
|
|
14
|
-
/**
|
|
15
|
-
* Validates that the source directory exists
|
|
16
|
-
*/
|
|
17
|
-
async function validateSourceDirectory(sourcePath) {
|
|
18
|
-
if (!fs.existsSync(sourcePath)) {
|
|
19
|
-
console.error(chalk.red(`Error: Directory ${sourcePath} does not exist.`));
|
|
20
|
-
console.log(chalk.yellow(`Run 'npm run build' to create the dist directory.`));
|
|
21
|
-
await shutdownAnalytics();
|
|
22
|
-
process.exitCode = 1;
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Determines the bundle name based on package.json or directory name
|
|
28
|
-
*/
|
|
29
|
-
function determineBundleName(projectRoot, providedName) {
|
|
30
|
-
let defaultName;
|
|
31
|
-
try {
|
|
32
|
-
const packageJsonPath = path.join(projectRoot, 'package.json');
|
|
33
|
-
if (fs.existsSync(packageJsonPath)) {
|
|
34
|
-
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
35
|
-
defaultName = packageJson.name
|
|
36
|
-
? packageJson.name.replace(/^@.*\//, '')
|
|
37
|
-
: undefined;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
catch {
|
|
41
|
-
// Ignore error, will fall back to directory name
|
|
42
|
-
}
|
|
43
|
-
if (!defaultName) {
|
|
44
|
-
defaultName = path.basename(projectRoot);
|
|
45
|
-
}
|
|
46
|
-
// Use provided name or default
|
|
47
|
-
return providedName || defaultName;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Builds the project with the correct base path for route-based deployment
|
|
51
|
-
*/
|
|
52
|
-
async function buildWithBasePath(projectRoot, route) {
|
|
53
|
-
return new Promise((resolve, reject) => {
|
|
54
|
-
console.log(chalk.blue(`Building project with base path ${route}/...`));
|
|
55
|
-
const buildCommand = 'npm';
|
|
56
|
-
const buildArgs = ['run', 'build'];
|
|
57
|
-
const env = {
|
|
58
|
-
...process.env,
|
|
59
|
-
VITE_BASE_PATH: `${route}/`,
|
|
60
|
-
};
|
|
61
|
-
const buildProcess = spawn(buildCommand, buildArgs, {
|
|
62
|
-
cwd: projectRoot,
|
|
63
|
-
env,
|
|
64
|
-
stdio: 'inherit',
|
|
65
|
-
});
|
|
66
|
-
buildProcess.on('close', code => {
|
|
67
|
-
if (code === 0) {
|
|
68
|
-
console.log(chalk.green('Build completed successfully!'));
|
|
69
|
-
resolve();
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
reject(new Error(`Build failed with exit code ${code}`));
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
buildProcess.on('error', error => {
|
|
76
|
-
reject(new Error(`Failed to start build process: ${error.message}`));
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Creates a tarball of the source directory
|
|
82
|
-
*/
|
|
83
|
-
async function createTarball(sourcePath, projectRoot, bundleName) {
|
|
84
|
-
console.log(chalk.blue(`Packaging contents of directory ${sourcePath} as bundle '${bundleName}'...`));
|
|
85
|
-
const tempTarPath = path.join(projectRoot, `${bundleName}-${Date.now()}.tar.gz`);
|
|
86
|
-
// Get all directories and files in the source directory
|
|
87
|
-
const children = fs.readdirSync(sourcePath);
|
|
88
|
-
if (children.length === 0) {
|
|
89
|
-
throw new Error(`Source directory ${sourcePath} is empty.`);
|
|
90
|
-
}
|
|
91
|
-
// Create tarball with all children of the source directory
|
|
92
|
-
await tar.create({
|
|
93
|
-
gzip: true,
|
|
94
|
-
file: tempTarPath,
|
|
95
|
-
cwd: sourcePath,
|
|
96
|
-
}, children);
|
|
97
|
-
return tempTarPath;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Uploads the tarball to the Tonk server
|
|
101
|
-
*/
|
|
102
|
-
async function uploadBundle(serverUrl, bundleName, tarballPath) {
|
|
103
|
-
console.log(chalk.blue(`Uploading bundle to ${serverUrl}...`));
|
|
104
|
-
const form = new FormData();
|
|
105
|
-
form.set('name', bundleName);
|
|
106
|
-
form.set('bundle', await fileFromPath(tarballPath));
|
|
107
|
-
const encoder = new FormDataEncoder(form);
|
|
108
|
-
const response = await fetch(`${serverUrl}/upload-bundle`, {
|
|
109
|
-
method: 'POST',
|
|
110
|
-
headers: encoder.headers,
|
|
111
|
-
body: Readable.from(encoder),
|
|
112
|
-
});
|
|
113
|
-
// Clean up temp file
|
|
114
|
-
fs.unlinkSync(tarballPath);
|
|
115
|
-
if (!response.ok) {
|
|
116
|
-
const errorText = await response.text();
|
|
117
|
-
throw new Error(`Server error: ${errorText}`);
|
|
118
|
-
}
|
|
119
|
-
const result = (await response.json());
|
|
120
|
-
console.log(chalk.green(`Bundle '${result.bundleName}' uploaded successfully!`));
|
|
121
|
-
return result;
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Starts the bundle on the Tonk server
|
|
125
|
-
*/
|
|
126
|
-
async function startBundle(serverUrl, bundleName, route) {
|
|
127
|
-
console.log(chalk.blue(`Starting bundle '${bundleName}'...`));
|
|
128
|
-
const requestBody = { bundleName };
|
|
129
|
-
// Use provided route or default to bundle name
|
|
130
|
-
if (route) {
|
|
131
|
-
requestBody.route = route;
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
requestBody.route = `/${bundleName}`;
|
|
135
|
-
}
|
|
136
|
-
const startResponse = await fetch(`${serverUrl}/start`, {
|
|
137
|
-
method: 'POST',
|
|
138
|
-
headers: {
|
|
139
|
-
'Content-Type': 'application/json',
|
|
140
|
-
},
|
|
141
|
-
body: JSON.stringify(requestBody),
|
|
142
|
-
});
|
|
143
|
-
if (!startResponse.ok) {
|
|
144
|
-
const startErrorText = await startResponse.text();
|
|
145
|
-
console.error(chalk.red(`Error starting bundle: ${startErrorText}`));
|
|
146
|
-
throw new Error(`Error starting bundle: ${startErrorText}`);
|
|
147
|
-
}
|
|
148
|
-
const startResult = (await startResponse.json());
|
|
149
|
-
console.log(chalk.green(`Bundle started successfully!`));
|
|
150
|
-
console.log(chalk.green(`Server ID: ${startResult.id}`));
|
|
151
|
-
if (startResult.route) {
|
|
152
|
-
console.log(chalk.green(`Route: ${startResult.route}`));
|
|
153
|
-
console.log(chalk.green(`URL: ${startResult.url || `${serverUrl}${startResult.route}`}`));
|
|
154
|
-
}
|
|
155
|
-
else if (startResult.port) {
|
|
156
|
-
// Fallback for old port-based deployments
|
|
157
|
-
console.log(chalk.green(`Running on port: ${startResult.port}`));
|
|
158
|
-
}
|
|
159
|
-
console.log(chalk.green(`Status: ${startResult.status}`));
|
|
160
|
-
return startResult;
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Main push command handler
|
|
164
|
-
*/
|
|
165
|
-
async function handlePushCommand(options) {
|
|
166
|
-
const startTime = Date.now();
|
|
167
|
-
const serverUrl = options.url;
|
|
168
|
-
const sourceDir = options.dir || './bundle';
|
|
169
|
-
const projectRoot = process.cwd();
|
|
170
|
-
const sourcePath = path.isAbsolute(sourceDir)
|
|
171
|
-
? sourceDir
|
|
172
|
-
: path.join(projectRoot, sourceDir);
|
|
173
|
-
try {
|
|
174
|
-
trackCommand('push', {
|
|
175
|
-
serverUrl,
|
|
176
|
-
projectRoot,
|
|
177
|
-
name: options.name,
|
|
178
|
-
noBuild: options.noBuild,
|
|
179
|
-
noStart: options.noStart,
|
|
180
|
-
route: options.route,
|
|
181
|
-
});
|
|
182
|
-
// Determine bundle name first (needed for route)
|
|
183
|
-
const bundleName = determineBundleName(projectRoot, options.name);
|
|
184
|
-
const route = options.route || `/${bundleName}`;
|
|
185
|
-
// Build with correct base path by default (unless --no-build is specified)
|
|
186
|
-
if (!options.noBuild) {
|
|
187
|
-
await buildWithBasePath(projectRoot, route);
|
|
188
|
-
}
|
|
189
|
-
// Validate source directory
|
|
190
|
-
await validateSourceDirectory(sourcePath);
|
|
191
|
-
// Create tarball
|
|
192
|
-
const tarballPath = await createTarball(sourcePath, projectRoot, bundleName);
|
|
193
|
-
// Upload bundle
|
|
194
|
-
const uploadResult = await uploadBundle(serverUrl, bundleName, tarballPath);
|
|
195
|
-
let startResult;
|
|
196
|
-
// Start bundle by default (unless --no-start is specified)
|
|
197
|
-
if (!options.noStart) {
|
|
198
|
-
startResult = await startBundle(serverUrl, uploadResult.bundleName, route);
|
|
199
|
-
}
|
|
200
|
-
else {
|
|
201
|
-
console.log(chalk.blue(`Use 'tonk start ${uploadResult.bundleName} --route ${route}' to start the bundle.`));
|
|
202
|
-
}
|
|
203
|
-
const duration = Date.now() - startTime;
|
|
204
|
-
trackCommandSuccess('push', duration, {
|
|
205
|
-
bundleName: uploadResult.bundleName,
|
|
206
|
-
serverUrl,
|
|
207
|
-
started: !options.noStart,
|
|
208
|
-
serverId: startResult?.id,
|
|
209
|
-
route: startResult?.route,
|
|
210
|
-
port: startResult?.port,
|
|
211
|
-
});
|
|
212
|
-
await shutdownAnalytics();
|
|
213
|
-
}
|
|
214
|
-
catch (error) {
|
|
215
|
-
const duration = Date.now() - startTime;
|
|
216
|
-
trackCommandError('push', error, duration, {
|
|
217
|
-
serverUrl,
|
|
218
|
-
projectRoot,
|
|
219
|
-
name: options.name,
|
|
220
|
-
noBuild: options.noBuild,
|
|
221
|
-
noStart: options.noStart,
|
|
222
|
-
route: options.route,
|
|
223
|
-
});
|
|
224
|
-
console.error(chalk.red(`Error: ${error instanceof Error ? error.message : String(error)}`));
|
|
225
|
-
await shutdownAnalytics();
|
|
226
|
-
process.exitCode = 1;
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
export const pushCommand = new Command('push')
|
|
230
|
-
.description('Package, upload, build and start a bundle on the Tonk server')
|
|
231
|
-
.option('-u, --url <url>', 'URL of the Tonk server', getServerConfig().defaultUrl)
|
|
232
|
-
.option('-n, --name <name>', 'Name for the bundle (defaults to directory name)')
|
|
233
|
-
.option('-d, --dir <dir>', 'Directory to bundle (defaults to ./dist)')
|
|
234
|
-
.option('-r, --route <route>', 'Route path for the bundle (defaults to /bundleName)')
|
|
235
|
-
.option('--no-build', 'Skip building the project before pushing')
|
|
236
|
-
.option('--no-start', 'Skip starting the bundle after upload')
|
|
237
|
-
.action(handlePushCommand);
|
|
238
|
-
//# sourceMappingURL=push.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAg1BpC,eAAO,MAAM,aAAa,SAEzB,CAAC"}
|