@tonk/cli 0.1.13 → 0.2.0
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/create.d.ts.map +1 -1
- package/dist/commands/create.js +9 -9
- package/dist/commands/create.js.map +1 -1
- 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 +68 -31
- 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 -15
- package/dist/tonk.js.map +1 -1
- package/package.json +13 -3
- 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 -71
- package/dist/commands/dev.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 -146
- package/dist/commands/serve.js.map +0 -1
package/dist/commands/serve.js
DELETED
|
@@ -1,146 +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, redirect it
|
|
13
|
-
if (inputPath.startsWith('/') &&
|
|
14
|
-
!inputPath.startsWith('/home/') &&
|
|
15
|
-
!inputPath.includes('node_modules')) {
|
|
16
|
-
const homedir = process.env.HOME || process.env.USERPROFILE || '/home/node';
|
|
17
|
-
return path.join(homedir, 'tonk-data', inputPath);
|
|
18
|
-
}
|
|
19
|
-
return inputPath;
|
|
20
|
-
}
|
|
21
|
-
export const serveCommand = new Command('serve')
|
|
22
|
-
.description('Start a Tonk app in production mode')
|
|
23
|
-
.option('-p, --port <port>', 'Port to run the server on', '8080')
|
|
24
|
-
.option('-d, --dist <path>', 'Path to the dist directory', 'dist')
|
|
25
|
-
.action(async (options) => {
|
|
26
|
-
const projectRoot = process.cwd();
|
|
27
|
-
const port = parseInt(options.port, 10);
|
|
28
|
-
const distPath = path.isAbsolute(options.dist)
|
|
29
|
-
? options.dist
|
|
30
|
-
: path.join(projectRoot, options.dist);
|
|
31
|
-
const configFilePath = path.join(projectRoot, 'tonk.config.json');
|
|
32
|
-
// Check if the dist directory exists
|
|
33
|
-
if (!fs.existsSync(distPath)) {
|
|
34
|
-
console.error(chalk.red(`Error: Dist directory not found at ${distPath}. Make sure you've built the project first.`));
|
|
35
|
-
console.log(chalk.yellow(`Tip: Run 'npm run build' or 'yarn build' before serving.`));
|
|
36
|
-
process.exit(1);
|
|
37
|
-
}
|
|
38
|
-
// Check if dist/index.html exists
|
|
39
|
-
const indexPath = path.join(distPath, 'index.html');
|
|
40
|
-
if (!fs.existsSync(indexPath)) {
|
|
41
|
-
console.error(chalk.red(`Error: index.html not found in ${distPath}. The build output may be incomplete.`));
|
|
42
|
-
process.exit(1);
|
|
43
|
-
}
|
|
44
|
-
// Check for Backblaze and Filesystem configurations
|
|
45
|
-
let backblazeConfig = null;
|
|
46
|
-
let filesystemConfig = null;
|
|
47
|
-
let primaryStorage = null;
|
|
48
|
-
if (fs.existsSync(configFilePath)) {
|
|
49
|
-
try {
|
|
50
|
-
const configData = JSON.parse(fs.readFileSync(configFilePath, 'utf8'));
|
|
51
|
-
// If backblaze is configured and enabled in the config file
|
|
52
|
-
if (configData.backblaze && configData.backblaze.enabled) {
|
|
53
|
-
backblazeConfig = {
|
|
54
|
-
enabled: true,
|
|
55
|
-
applicationKeyId: configData.backblaze.applicationKeyId,
|
|
56
|
-
applicationKey: configData.backblaze.applicationKey,
|
|
57
|
-
bucketId: configData.backblaze.bucketId,
|
|
58
|
-
bucketName: configData.backblaze.bucketName,
|
|
59
|
-
syncInterval: configData.backblaze.syncInterval || 300000, // 5 minutes default
|
|
60
|
-
maxRetries: configData.backblaze.maxRetries || 3,
|
|
61
|
-
};
|
|
62
|
-
console.log(chalk.blue('Backblaze B2 backup enabled from config'));
|
|
63
|
-
}
|
|
64
|
-
// If filesystem storage is configured and enabled in the config file
|
|
65
|
-
if (configData.filesystem && configData.filesystem.enabled) {
|
|
66
|
-
let storagePath = configData.filesystem.storagePath || '~/tonk-data';
|
|
67
|
-
storagePath = normalizePath(storagePath);
|
|
68
|
-
filesystemConfig = {
|
|
69
|
-
enabled: true,
|
|
70
|
-
storagePath,
|
|
71
|
-
syncInterval: configData.filesystem.syncInterval || 30000, // 30 seconds default
|
|
72
|
-
createIfMissing: configData.filesystem.createIfMissing !== false, // default to true
|
|
73
|
-
};
|
|
74
|
-
console.log(chalk.blue('Filesystem storage enabled from config'));
|
|
75
|
-
}
|
|
76
|
-
// Check for primary storage configuration
|
|
77
|
-
if (configData.primaryStorage &&
|
|
78
|
-
(configData.primaryStorage === 'backblaze' ||
|
|
79
|
-
configData.primaryStorage === 'filesystem')) {
|
|
80
|
-
primaryStorage = configData.primaryStorage;
|
|
81
|
-
console.log(chalk.blue(`Primary storage set to ${primaryStorage} from config`));
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
catch (error) {
|
|
85
|
-
console.warn(chalk.yellow(`Warning: Could not parse config file at ${configFilePath}. Storage backups will not be enabled.`));
|
|
86
|
-
console.warn(chalk.yellow(`Error details: ${error}`));
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
console.log(chalk.blue('Starting Tonk production server...'));
|
|
90
|
-
try {
|
|
91
|
-
// Start the production server with storage configs if available
|
|
92
|
-
const serverConfig = {
|
|
93
|
-
port,
|
|
94
|
-
mode: 'production',
|
|
95
|
-
distPath,
|
|
96
|
-
verbose: true,
|
|
97
|
-
};
|
|
98
|
-
// Add Backblaze configuration if available
|
|
99
|
-
if (backblazeConfig) {
|
|
100
|
-
serverConfig.storage = {
|
|
101
|
-
backblaze: backblazeConfig,
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
// Add Filesystem configuration if available
|
|
105
|
-
if (filesystemConfig) {
|
|
106
|
-
serverConfig.filesystemStorage = filesystemConfig;
|
|
107
|
-
}
|
|
108
|
-
// Set primary storage if both are configured
|
|
109
|
-
if (primaryStorage && backblazeConfig && filesystemConfig) {
|
|
110
|
-
serverConfig.primaryStorage = primaryStorage;
|
|
111
|
-
}
|
|
112
|
-
const server = await createServer(serverConfig);
|
|
113
|
-
// Log success info
|
|
114
|
-
console.log(chalk.green(`Server running at http://localhost:${port}`));
|
|
115
|
-
if (backblazeConfig) {
|
|
116
|
-
console.log(chalk.green(`
|
|
117
|
-
Backblaze B2 backup is enabled for your Automerge documents.
|
|
118
|
-
Documents will be synced to your B2 bucket: ${backblazeConfig.bucketName}
|
|
119
|
-
`));
|
|
120
|
-
}
|
|
121
|
-
if (filesystemConfig) {
|
|
122
|
-
console.log(chalk.green(`
|
|
123
|
-
Filesystem storage is enabled for your Automerge documents.
|
|
124
|
-
Documents will be stored at: ${filesystemConfig.storagePath}
|
|
125
|
-
`));
|
|
126
|
-
}
|
|
127
|
-
if (primaryStorage && backblazeConfig && filesystemConfig) {
|
|
128
|
-
console.log(chalk.green(`
|
|
129
|
-
Primary storage is set to: ${primaryStorage}
|
|
130
|
-
`));
|
|
131
|
-
}
|
|
132
|
-
console.log(chalk.blue('Press Ctrl+C to stop the server'));
|
|
133
|
-
// Handle process termination
|
|
134
|
-
const cleanup = () => {
|
|
135
|
-
console.log(chalk.yellow('\nShutting down server...'));
|
|
136
|
-
server.stop().catch(console.error);
|
|
137
|
-
};
|
|
138
|
-
process.on('SIGINT', cleanup);
|
|
139
|
-
process.on('SIGTERM', cleanup);
|
|
140
|
-
}
|
|
141
|
-
catch (error) {
|
|
142
|
-
console.error(chalk.red('Failed to start server:'), error);
|
|
143
|
-
process.exit(1);
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
//# 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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"}
|