@tonk/cli 0.1.14 → 0.2.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 +84 -5
- package/dist/commands/hello/index.d.ts +3 -0
- package/dist/commands/hello/index.d.ts.map +1 -0
- package/dist/commands/hello/index.js +291 -0
- package/dist/commands/hello/index.js.map +1 -0
- package/dist/commands/hello.d.ts.map +1 -1
- package/dist/commands/hello.js +69 -6
- package/dist/commands/hello.js.map +1 -1
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +66 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/kill.d.ts +3 -0
- package/dist/commands/kill.d.ts.map +1 -0
- package/dist/commands/kill.js +38 -0
- package/dist/commands/kill.js.map +1 -0
- package/dist/commands/ls.d.ts +3 -0
- package/dist/commands/ls.d.ts.map +1 -0
- package/dist/commands/ls.js +31 -0
- package/dist/commands/ls.js.map +1 -0
- package/dist/commands/ps.d.ts +3 -0
- package/dist/commands/ps.d.ts.map +1 -0
- package/dist/commands/ps.js +34 -0
- package/dist/commands/ps.js.map +1 -0
- package/dist/commands/push.d.ts +3 -0
- package/dist/commands/push.d.ts.map +1 -0
- package/dist/commands/push.js +150 -0
- package/dist/commands/push.js.map +1 -0
- package/dist/commands/start.d.ts +3 -0
- package/dist/commands/start.d.ts.map +1 -0
- package/dist/commands/start.js +43 -0
- package/dist/commands/start.js.map +1 -0
- package/dist/tonk.js +71 -12
- package/dist/tonk.js.map +1 -1
- package/package.json +12 -4
- package/dist/commands/config.d.ts +0 -3
- package/dist/commands/config.d.ts.map +0 -1
- package/dist/commands/config.js +0 -338
- package/dist/commands/config.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 -460
- package/dist/commands/deploy.js.map +0 -1
- package/dist/commands/dev.d.ts +0 -3
- package/dist/commands/dev.d.ts.map +0 -1
- package/dist/commands/dev.js +0 -89
- package/dist/commands/dev.js.map +0 -1
- package/dist/commands/prettyPrint.d.ts +0 -3
- package/dist/commands/prettyPrint.d.ts.map +0 -1
- package/dist/commands/prettyPrint.js +0 -51
- package/dist/commands/prettyPrint.js.map +0 -1
- package/dist/commands/serve.d.ts +0 -3
- package/dist/commands/serve.d.ts.map +0 -1
- package/dist/commands/serve.js +0 -212
- package/dist/commands/serve.js.map +0 -1
- package/dist/lib/launchGUI.d.ts +0 -2
- package/dist/lib/launchGUI.d.ts.map +0 -1
- package/dist/lib/launchGUI.js +0 -175
- package/dist/lib/launchGUI.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prettyPrint.js","sourceRoot":"","sources":["../../src/commands/prettyPrint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAS,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAQxB,mCAAmC;AACnC,MAAM,QAAQ,GAAG;IACf,+BAA+B;IAC/B,OAAO,CAAqB,KAAqB;QAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CACpB,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAC3D,CAAC;IACJ,CAAC;IACD,SAAS,CAAqB,KAAuB;QACnD,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;IACxD,CAAC;IACD,IAAI,CAAqB,KAAkB;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC5C,KAAK,CAAC,MAAM,CACV,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CACjE,IAAI,CAAC,MAAM,CACZ,EAAE,CACJ,CACF,CAAC;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACjC,CAAC;IACD,IAAI,CAAC,KAAkB;QACrB,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IAChD,CAAC;IACD,QAAQ,CAAC,KAAsB;QAC7B,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,gCAAgC;IAChC,IAAI,CAAC,KAAkB;QACrB,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,EAAE,CAAqB,KAAgB;QACrC,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,CAAqB,KAAoB;QAC7C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,CAAC;CACF,CAAC;AACF,4CAA4C;AAC5C,MAAM,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;AAEvB,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;KACjD,WAAW,CAAC,8BAA8B,CAAC;KAC3C,QAAQ,CAAC,yBAAyB,EAAE,oCAAoC,CAAC;KACzE,MAAM,CAAC,YAAY,CAAC,EAAE;IACrB,qCAAqC;IACrC,MAAM,QAAQ,GAAG,EAAE;SAChB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;SAC1C,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpB,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/commands/serve.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AA2BlC,eAAO,MAAM,YAAY,SAuQrB,CAAC"}
|
package/dist/commands/serve.js
DELETED
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import fs from 'fs';
|
|
4
|
-
import { createServer } from '@tonk/server';
|
|
5
|
-
import chalk from 'chalk';
|
|
6
|
-
function normalizePath(inputPath) {
|
|
7
|
-
// If path starts with ~, expand to home directory
|
|
8
|
-
if (inputPath.startsWith('~/')) {
|
|
9
|
-
const homedir = process.env.HOME || process.env.USERPROFILE || '/home/node';
|
|
10
|
-
return path.join(homedir, inputPath.substring(2));
|
|
11
|
-
}
|
|
12
|
-
// If path is an absolute path not in the user's home directory and not already expanded from ~,
|
|
13
|
-
// redirect it to tonk-data
|
|
14
|
-
if (inputPath.startsWith('/') &&
|
|
15
|
-
!inputPath.startsWith(process.env.HOME || process.env.USERPROFILE || '') &&
|
|
16
|
-
!inputPath.includes('node_modules')) {
|
|
17
|
-
const homedir = process.env.HOME || process.env.USERPROFILE || '/home/node';
|
|
18
|
-
return path.join(homedir, 'tonk-data', inputPath);
|
|
19
|
-
}
|
|
20
|
-
return inputPath;
|
|
21
|
-
}
|
|
22
|
-
export const serveCommand = new Command('serve')
|
|
23
|
-
.description('Start a Tonk app in production mode')
|
|
24
|
-
.option('-p, --port <port>', 'Port to run the server on', '8080')
|
|
25
|
-
.option('-d, --dist <path>', 'Path to the dist directory for single app mode')
|
|
26
|
-
.option('-u, --userhub', 'Run in userhub mode')
|
|
27
|
-
.option('-f, --filesystem <path>', 'Filesystem path for document storage')
|
|
28
|
-
.action(async (options) => {
|
|
29
|
-
const projectRoot = process.cwd();
|
|
30
|
-
const port = parseInt(options.port, 10);
|
|
31
|
-
const configFilePath = path.join(projectRoot, 'tonk.config.json');
|
|
32
|
-
// Determine whether we're using single app mode or hub mode
|
|
33
|
-
let distPath;
|
|
34
|
-
if (options.userhub) {
|
|
35
|
-
if (!options.filesystem) {
|
|
36
|
-
console.error(chalk.red(`Error: cannot run in hub mode without a filesystem path`));
|
|
37
|
-
process.exit(1);
|
|
38
|
-
}
|
|
39
|
-
// do nothing
|
|
40
|
-
}
|
|
41
|
-
else if (options.dist) {
|
|
42
|
-
// Single app mode: serve a single app from dist
|
|
43
|
-
distPath = path.isAbsolute(options.dist)
|
|
44
|
-
? options.dist
|
|
45
|
-
: path.join(projectRoot, options.dist);
|
|
46
|
-
// Check if the dist directory exists
|
|
47
|
-
if (!fs.existsSync(distPath)) {
|
|
48
|
-
console.error(chalk.red(`Error: Dist directory not found at ${distPath}. Make sure you've built the project first.`));
|
|
49
|
-
console.log(chalk.yellow(`Tip: Run 'pnpm run build' or 'yarn build' before serving.`));
|
|
50
|
-
process.exit(1);
|
|
51
|
-
}
|
|
52
|
-
// Check if dist/index.html exists
|
|
53
|
-
const indexPath = path.join(distPath, 'index.html');
|
|
54
|
-
if (!fs.existsSync(indexPath)) {
|
|
55
|
-
console.error(chalk.red(`Error: index.html not found in ${distPath}. The build output may be incomplete.`));
|
|
56
|
-
process.exit(1);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
// Neither hub nor dist specified, default to 'dist' in current directory
|
|
61
|
-
distPath = path.join(projectRoot, 'dist');
|
|
62
|
-
if (!fs.existsSync(distPath)) {
|
|
63
|
-
console.error(chalk.red(`Error: No --dist or --hub option provided, and default dist directory not found at ${distPath}.`));
|
|
64
|
-
process.exit(1);
|
|
65
|
-
}
|
|
66
|
-
// Check if dist/index.html exists
|
|
67
|
-
const indexPath = path.join(distPath, 'index.html');
|
|
68
|
-
if (!fs.existsSync(indexPath)) {
|
|
69
|
-
console.error(chalk.red(`Error: index.html not found in ${distPath}. The build output may be incomplete.`));
|
|
70
|
-
process.exit(1);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
// Check for Backblaze and Filesystem configurations
|
|
74
|
-
let backblazeConfig = null;
|
|
75
|
-
let filesystemConfig = null;
|
|
76
|
-
let primaryStorage = null;
|
|
77
|
-
// Check if filesystem path was provided via command line
|
|
78
|
-
const hasFilesystemFlag = !!options.filesystem;
|
|
79
|
-
if (fs.existsSync(configFilePath)) {
|
|
80
|
-
try {
|
|
81
|
-
const configData = JSON.parse(fs.readFileSync(configFilePath, 'utf8'));
|
|
82
|
-
// If backblaze is configured and enabled in the config file
|
|
83
|
-
if (configData.backblaze && configData.backblaze.enabled) {
|
|
84
|
-
backblazeConfig = {
|
|
85
|
-
enabled: true,
|
|
86
|
-
applicationKeyId: configData.backblaze.applicationKeyId,
|
|
87
|
-
applicationKey: configData.backblaze.applicationKey,
|
|
88
|
-
bucketId: configData.backblaze.bucketId,
|
|
89
|
-
bucketName: configData.backblaze.bucketName,
|
|
90
|
-
syncInterval: configData.backblaze.syncInterval || 300000, // 5 minutes default
|
|
91
|
-
maxRetries: configData.backblaze.maxRetries || 3,
|
|
92
|
-
};
|
|
93
|
-
console.log(chalk.blue('Backblaze B2 backup enabled from config'));
|
|
94
|
-
}
|
|
95
|
-
// If filesystem storage is configured and enabled in the config file
|
|
96
|
-
// and no command line path was provided
|
|
97
|
-
if (!hasFilesystemFlag &&
|
|
98
|
-
configData.filesystem &&
|
|
99
|
-
configData.filesystem.enabled) {
|
|
100
|
-
let storagePath = configData.filesystem.storagePath || '~/tonk-data';
|
|
101
|
-
storagePath = normalizePath(storagePath);
|
|
102
|
-
filesystemConfig = {
|
|
103
|
-
enabled: true,
|
|
104
|
-
storagePath,
|
|
105
|
-
syncInterval: configData.filesystem.syncInterval || 30000, // 30 seconds default
|
|
106
|
-
createIfMissing: configData.filesystem.createIfMissing !== false, // default to true
|
|
107
|
-
};
|
|
108
|
-
console.log(chalk.blue('Filesystem storage enabled from config'));
|
|
109
|
-
}
|
|
110
|
-
// Check for primary storage configuration
|
|
111
|
-
if (configData.primaryStorage &&
|
|
112
|
-
(configData.primaryStorage === 'backblaze' ||
|
|
113
|
-
configData.primaryStorage === 'filesystem')) {
|
|
114
|
-
primaryStorage = configData.primaryStorage;
|
|
115
|
-
console.log(chalk.blue(`Primary storage set to ${primaryStorage} from config`));
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
catch (error) {
|
|
119
|
-
console.warn(chalk.yellow(`Warning: Could not parse config file at ${configFilePath}. Storage backups will not be enabled.`));
|
|
120
|
-
console.warn(chalk.yellow(`Error details: ${error}`));
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
// If filesystem path was provided via command line, override config settings
|
|
124
|
-
if (hasFilesystemFlag) {
|
|
125
|
-
const storagePath = normalizePath(options.filesystem);
|
|
126
|
-
filesystemConfig = {
|
|
127
|
-
enabled: true,
|
|
128
|
-
storagePath,
|
|
129
|
-
syncInterval: 30000, // 30 seconds default
|
|
130
|
-
createIfMissing: true, // default to true
|
|
131
|
-
};
|
|
132
|
-
console.log(chalk.blue(`Filesystem storage enabled with path: ${storagePath}`));
|
|
133
|
-
// If no primary storage set and we have backblaze, set filesystem as primary
|
|
134
|
-
if (!primaryStorage && backblazeConfig) {
|
|
135
|
-
primaryStorage = 'filesystem';
|
|
136
|
-
console.log(chalk.blue('Primary storage set to filesystem from command line argument'));
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
console.log(chalk.blue('Starting Tonk production server...'));
|
|
140
|
-
try {
|
|
141
|
-
// Start the production server with storage configs if available
|
|
142
|
-
const serverConfig = {
|
|
143
|
-
port,
|
|
144
|
-
mode: 'production',
|
|
145
|
-
verbose: true,
|
|
146
|
-
};
|
|
147
|
-
if (distPath) {
|
|
148
|
-
serverConfig.distPath = distPath;
|
|
149
|
-
}
|
|
150
|
-
// Add Backblaze configuration if available
|
|
151
|
-
if (backblazeConfig) {
|
|
152
|
-
serverConfig.storage = {
|
|
153
|
-
backblaze: backblazeConfig,
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
// Add Filesystem configuration if available
|
|
157
|
-
if (filesystemConfig) {
|
|
158
|
-
serverConfig.filesystemStorage = filesystemConfig;
|
|
159
|
-
}
|
|
160
|
-
// Set primary storage if both are configured
|
|
161
|
-
if (primaryStorage && backblazeConfig && filesystemConfig) {
|
|
162
|
-
serverConfig.primaryStorage = primaryStorage;
|
|
163
|
-
}
|
|
164
|
-
const server = await createServer(serverConfig);
|
|
165
|
-
// Log success info
|
|
166
|
-
console.log(chalk.green(`Server running at http://localhost:${port}`));
|
|
167
|
-
if (distPath) {
|
|
168
|
-
console.log(chalk.green(`Serving single app from: ${distPath}`));
|
|
169
|
-
}
|
|
170
|
-
if (backblazeConfig) {
|
|
171
|
-
console.log(chalk.green(`
|
|
172
|
-
Backblaze B2 backup is enabled for your Automerge documents.
|
|
173
|
-
Documents will be synced to your B2 bucket: ${backblazeConfig.bucketName}
|
|
174
|
-
`));
|
|
175
|
-
}
|
|
176
|
-
if (filesystemConfig) {
|
|
177
|
-
console.log(chalk.green(`
|
|
178
|
-
Filesystem storage is enabled for your Automerge documents.
|
|
179
|
-
Documents will be stored at: ${filesystemConfig.storagePath}
|
|
180
|
-
`));
|
|
181
|
-
}
|
|
182
|
-
if (primaryStorage && backblazeConfig && filesystemConfig) {
|
|
183
|
-
console.log(chalk.green(`
|
|
184
|
-
Primary storage is set to: ${primaryStorage}
|
|
185
|
-
`));
|
|
186
|
-
}
|
|
187
|
-
console.log(chalk.blue('Press Ctrl+C to stop the server'));
|
|
188
|
-
// Handle process termination
|
|
189
|
-
const cleanup = () => {
|
|
190
|
-
console.log(chalk.yellow('\nShutting down server...'));
|
|
191
|
-
server
|
|
192
|
-
.stop()
|
|
193
|
-
.then(() => {
|
|
194
|
-
console.log(chalk.green('Server shutdown complete.'));
|
|
195
|
-
// Force exit after brief delay to ensure any pending operations complete
|
|
196
|
-
setTimeout(() => process.exit(0), 2000);
|
|
197
|
-
})
|
|
198
|
-
.catch(err => {
|
|
199
|
-
console.error(chalk.red('Error during shutdown:'), err);
|
|
200
|
-
// Force exit even on error
|
|
201
|
-
process.exit(1);
|
|
202
|
-
});
|
|
203
|
-
};
|
|
204
|
-
process.on('SIGINT', cleanup);
|
|
205
|
-
process.on('SIGTERM', cleanup);
|
|
206
|
-
}
|
|
207
|
-
catch (error) {
|
|
208
|
-
console.error(chalk.red('Failed to start server:'), error);
|
|
209
|
-
process.exit(1);
|
|
210
|
-
}
|
|
211
|
-
});
|
|
212
|
-
//# sourceMappingURL=serve.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/launchGUI.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"launchGUI.d.ts","sourceRoot":"","sources":["../../src/lib/launchGUI.ts"],"names":[],"mappings":"AAMA,wBAAgB,aAAa,SAmJ5B"}
|
package/dist/lib/launchGUI.js
DELETED
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import { spawn } from 'child_process';
|
|
3
|
-
import fs from 'fs';
|
|
4
|
-
import path from 'path';
|
|
5
|
-
import { fileURLToPath } from 'url';
|
|
6
|
-
export function launchTonkGUI() {
|
|
7
|
-
// Use import.meta.url and fileURLToPath instead of __dirname
|
|
8
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
9
|
-
const __dirname = path.dirname(__filename);
|
|
10
|
-
// Determine the paths - CLI is in src/commands, so we need to go up to the project root
|
|
11
|
-
const projectRoot = path.resolve(__dirname, '../../..');
|
|
12
|
-
const electronAppPath = path.resolve(projectRoot, 'hub');
|
|
13
|
-
const hubUIPath = path.resolve(electronAppPath, 'hub-ui');
|
|
14
|
-
// Check if the Electron app exists
|
|
15
|
-
if (!fs.existsSync(electronAppPath)) {
|
|
16
|
-
console.error(chalk.red(`Electron app not found at ${electronAppPath}. Please check your installation.`));
|
|
17
|
-
throw new Error(`Electron app not found at ${electronAppPath}. Please check your installation.`);
|
|
18
|
-
}
|
|
19
|
-
// Check if the hub UI exists
|
|
20
|
-
if (!fs.existsSync(hubUIPath)) {
|
|
21
|
-
console.error(chalk.red(`Hub UI not found at ${hubUIPath}. Please check your installation.`));
|
|
22
|
-
throw new Error(`Hub UI not found at ${hubUIPath}. Please check your installation.`);
|
|
23
|
-
}
|
|
24
|
-
let uiProcess = null;
|
|
25
|
-
let electronProcess = null;
|
|
26
|
-
// Function to cleanly terminate both processes
|
|
27
|
-
const cleanupProcesses = () => {
|
|
28
|
-
console.log(chalk.yellow('\nShutting down Tonk GUI...'));
|
|
29
|
-
if (electronProcess) {
|
|
30
|
-
try {
|
|
31
|
-
electronProcess.kill('SIGTERM');
|
|
32
|
-
electronProcess = null;
|
|
33
|
-
}
|
|
34
|
-
catch (err) {
|
|
35
|
-
console.error(chalk.red(`Error terminating Electron process: ${err.message}`));
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
if (uiProcess) {
|
|
39
|
-
try {
|
|
40
|
-
// First try a graceful termination
|
|
41
|
-
uiProcess.kill('SIGTERM');
|
|
42
|
-
// Force kill after a short timeout if still running
|
|
43
|
-
setTimeout(() => {
|
|
44
|
-
if (uiProcess) {
|
|
45
|
-
try {
|
|
46
|
-
// On macOS, we need SIGKILL to ensure termination
|
|
47
|
-
uiProcess.kill('SIGKILL');
|
|
48
|
-
uiProcess = null;
|
|
49
|
-
console.log(chalk.yellow('Force-terminated UI process'));
|
|
50
|
-
}
|
|
51
|
-
catch (killErr) {
|
|
52
|
-
console.error(chalk.red(`Failed to force-kill UI process: ${killErr.message}`));
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}, 1000);
|
|
56
|
-
}
|
|
57
|
-
catch (err) {
|
|
58
|
-
console.error(chalk.red(`Error terminating UI process: ${err.message}`));
|
|
59
|
-
// Try force kill if normal termination failed
|
|
60
|
-
try {
|
|
61
|
-
uiProcess.kill('SIGKILL');
|
|
62
|
-
uiProcess = null;
|
|
63
|
-
}
|
|
64
|
-
catch (killErr) {
|
|
65
|
-
console.error(chalk.red(`Failed to force-kill UI process: ${killErr.message}`));
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
// Also try to kill any process that might be using port 3333
|
|
70
|
-
try {
|
|
71
|
-
// For macOS/Linux
|
|
72
|
-
const killCommand = process.platform === 'win32'
|
|
73
|
-
? spawn('cmd', [
|
|
74
|
-
'/c',
|
|
75
|
-
'FOR /F "tokens=5" %P IN (\'netstat -ano ^| findstr :3333 ^| findstr LISTENING\') DO taskkill /F /PID %P',
|
|
76
|
-
])
|
|
77
|
-
: spawn('sh', ['-c', 'lsof -ti:3333 | xargs kill -9']);
|
|
78
|
-
killCommand.on('error', err => {
|
|
79
|
-
console.error(chalk.red(`Failed to kill process on port 3333: ${err.message}`));
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
catch (err) {
|
|
83
|
-
console.error(chalk.red(`Error killing process on port 3333: ${err.message}`));
|
|
84
|
-
}
|
|
85
|
-
console.log(chalk.yellow('Tonk GUI shutdown complete.'));
|
|
86
|
-
};
|
|
87
|
-
try {
|
|
88
|
-
// Start the webpack development server for the hub UI
|
|
89
|
-
console.log(chalk.blue('Starting Hub UI development server...'));
|
|
90
|
-
uiProcess = startUIServer(hubUIPath);
|
|
91
|
-
// Give the UI server a moment to start
|
|
92
|
-
setTimeout(() => {
|
|
93
|
-
// Launch the Electron app
|
|
94
|
-
console.log(chalk.blue('Starting Electron app...'));
|
|
95
|
-
electronProcess = startElectronApp(electronAppPath, cleanupProcesses);
|
|
96
|
-
// Handle process termination
|
|
97
|
-
process.on('SIGINT', cleanupProcesses);
|
|
98
|
-
process.on('SIGTERM', cleanupProcesses);
|
|
99
|
-
process.on('exit', cleanupProcesses);
|
|
100
|
-
}, 2000); // Wait 2 seconds before starting Electron
|
|
101
|
-
}
|
|
102
|
-
catch (error) {
|
|
103
|
-
console.error(chalk.red(`Error launching Tonk GUI: ${error.message}`));
|
|
104
|
-
cleanupProcesses();
|
|
105
|
-
throw new Error(`Error launching Tonk GUI: ${error.message}`);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
function startUIServer(hubUIPath) {
|
|
109
|
-
console.log(chalk.blue(`Starting webpack dev server in ${hubUIPath}...`));
|
|
110
|
-
const uiProcess = spawn('pnpm', ['run', 'start'], {
|
|
111
|
-
cwd: hubUIPath,
|
|
112
|
-
stdio: 'pipe',
|
|
113
|
-
shell: true,
|
|
114
|
-
detached: false, // Ensure process is not detached from parent
|
|
115
|
-
});
|
|
116
|
-
uiProcess.stdout.on('data', data => {
|
|
117
|
-
const output = data.toString();
|
|
118
|
-
console.log(chalk.green(output.trim()));
|
|
119
|
-
});
|
|
120
|
-
uiProcess.stderr.on('data', data => {
|
|
121
|
-
const output = data.toString();
|
|
122
|
-
console.error(chalk.yellow(output.trim()));
|
|
123
|
-
});
|
|
124
|
-
uiProcess.on('error', err => {
|
|
125
|
-
console.error(chalk.red(`Failed to start UI server: ${err.message}`));
|
|
126
|
-
});
|
|
127
|
-
uiProcess.on('close', code => {
|
|
128
|
-
if (code !== 0 && code !== null) {
|
|
129
|
-
console.log(chalk.yellow(`UI server exited with code ${code}`));
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
return uiProcess;
|
|
133
|
-
}
|
|
134
|
-
function startElectronApp(electronAppPath, cleanupCallback) {
|
|
135
|
-
console.log(chalk.blue(`Starting Electron app in ${electronAppPath}...`));
|
|
136
|
-
// Check if package.json exists in the electron app directory
|
|
137
|
-
const packageJsonPath = path.join(electronAppPath, 'package.json');
|
|
138
|
-
if (!fs.existsSync(packageJsonPath)) {
|
|
139
|
-
console.error(chalk.red(`No package.json found in ${electronAppPath}`));
|
|
140
|
-
throw new Error(`No package.json found in ${electronAppPath}`);
|
|
141
|
-
}
|
|
142
|
-
// Use npm run dev instead of npx electron .
|
|
143
|
-
const electronProcess = spawn('pnpm', ['run', 'dev'], {
|
|
144
|
-
cwd: electronAppPath,
|
|
145
|
-
stdio: 'pipe',
|
|
146
|
-
shell: true,
|
|
147
|
-
env: {
|
|
148
|
-
...process.env,
|
|
149
|
-
ELECTRON_START_URL: 'http://localhost:3333',
|
|
150
|
-
// Enable Node.js integration in Electron
|
|
151
|
-
NODE_ENV: 'development',
|
|
152
|
-
},
|
|
153
|
-
});
|
|
154
|
-
electronProcess.stdout.on('data', data => {
|
|
155
|
-
const output = data.toString();
|
|
156
|
-
console.log(chalk.blue(output.trim()));
|
|
157
|
-
});
|
|
158
|
-
electronProcess.stderr.on('data', data => {
|
|
159
|
-
const output = data.toString();
|
|
160
|
-
console.error(chalk.red(output.trim()));
|
|
161
|
-
});
|
|
162
|
-
electronProcess.on('error', err => {
|
|
163
|
-
console.error(chalk.red(`Failed to start Electron app: ${err.message}`));
|
|
164
|
-
});
|
|
165
|
-
electronProcess.on('close', code => {
|
|
166
|
-
if (code !== 0 && code !== null) {
|
|
167
|
-
console.log(chalk.yellow(`Electron app exited with code ${code}`));
|
|
168
|
-
}
|
|
169
|
-
console.log(chalk.yellow('Electron app closed, shutting down UI server...'));
|
|
170
|
-
// Call the cleanup function when Electron exits
|
|
171
|
-
cleanupCallback();
|
|
172
|
-
});
|
|
173
|
-
return electronProcess;
|
|
174
|
-
}
|
|
175
|
-
//# sourceMappingURL=launchGUI.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"launchGUI.js","sourceRoot":"","sources":["../../src/lib/launchGUI.ts"],"names":[],"mappings":"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"}
|