@lovelybunch/cli 1.0.76 → 1.0.77-alpha.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/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +9 -10
- package/dist/commands/serve.js.map +1 -1
- package/package.json +17 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkEpC,eAAO,MAAM,YAAY,SAiFrB,CAAC"}
|
package/dist/commands/serve.js
CHANGED
|
@@ -54,19 +54,20 @@ function openBrowser(url) {
|
|
|
54
54
|
const command = process.platform === 'darwin' ? 'open' :
|
|
55
55
|
process.platform === 'win32' ? 'start' : 'xdg-open';
|
|
56
56
|
spawn(command, [url], { detached: true, stdio: 'ignore' });
|
|
57
|
-
console.log(chalk.blue(`🌐 Opening browser at ${url}`));
|
|
58
57
|
}
|
|
59
58
|
export const serveCommand = new Command('serve')
|
|
60
59
|
.description('Start the Coconut web interface')
|
|
61
60
|
.option('-p, --port <port>', 'Preferred port to run the server on (will find alternative if unavailable)')
|
|
62
61
|
.option('--host <host>', 'Host to bind the server to', 'localhost')
|
|
63
62
|
.option('--no-open', 'Prevent automatic browser opening', false)
|
|
63
|
+
.option('--verbose', 'Show detailed startup output')
|
|
64
64
|
.action(async (options) => {
|
|
65
|
-
|
|
65
|
+
const verbose = options.verbose === true;
|
|
66
|
+
if (verbose)
|
|
67
|
+
process.env.COCONUT_VERBOSE = '1';
|
|
68
|
+
console.log(chalk.blue('🥥 Starting Coconut...'));
|
|
66
69
|
try {
|
|
67
|
-
// Set environment variables for Next.js
|
|
68
70
|
const currentDir = process.cwd();
|
|
69
|
-
console.log(chalk.blue(`🗂️ Serving data from: ${currentDir}/.nut`));
|
|
70
71
|
process.env.GAIT_DATA_PATH = currentDir;
|
|
71
72
|
// Find an available port
|
|
72
73
|
const preferredPortInput = options.port ?? process.env.PORT ?? '3000';
|
|
@@ -76,16 +77,14 @@ export const serveCommand = new Command('serve')
|
|
|
76
77
|
}
|
|
77
78
|
// Make resolved port visible to downstream consumers expecting PORT env
|
|
78
79
|
process.env.PORT = preferredPort.toString();
|
|
79
|
-
console.log(chalk.blue(`🔍 Finding available port...`));
|
|
80
80
|
const availablePort = await findAvailablePort(options.host, preferredPort);
|
|
81
81
|
if (availablePort !== preferredPort) {
|
|
82
|
-
console.log(chalk.yellow(`⚠️ Port ${preferredPort}
|
|
82
|
+
console.log(chalk.yellow(`⚠️ Port ${preferredPort} unavailable, using ${availablePort}`));
|
|
83
83
|
}
|
|
84
84
|
process.env.PORT = availablePort.toString();
|
|
85
85
|
const workspaceApiEntry = path.join(currentDir, 'packages/api/dist/server-with-static.js');
|
|
86
86
|
let startServerModule;
|
|
87
87
|
if (fs.existsSync(workspaceApiEntry)) {
|
|
88
|
-
console.log(chalk.blue('🧩 Using workspace API build'));
|
|
89
88
|
startServerModule = await import(pathToFileURL(workspaceApiEntry).href);
|
|
90
89
|
}
|
|
91
90
|
else {
|
|
@@ -99,7 +98,7 @@ export const serveCommand = new Command('serve')
|
|
|
99
98
|
host: options.host
|
|
100
99
|
});
|
|
101
100
|
const url = `http://${options.host}:${availablePort}`;
|
|
102
|
-
console.log(chalk.green(
|
|
101
|
+
console.log(chalk.green(`🥥 Coconut ready at ${url}`));
|
|
103
102
|
// Open browser automatically unless explicitly disabled
|
|
104
103
|
if (options.open) {
|
|
105
104
|
setTimeout(() => {
|
|
@@ -108,7 +107,7 @@ export const serveCommand = new Command('serve')
|
|
|
108
107
|
}
|
|
109
108
|
// Handle graceful shutdown
|
|
110
109
|
process.on('SIGINT', () => {
|
|
111
|
-
console.log(chalk.yellow('\n
|
|
110
|
+
console.log(chalk.yellow('\n🌊 Shutting down Coconut...'));
|
|
112
111
|
server.close(() => {
|
|
113
112
|
process.exit(0);
|
|
114
113
|
});
|
|
@@ -120,7 +119,7 @@ export const serveCommand = new Command('serve')
|
|
|
120
119
|
});
|
|
121
120
|
}
|
|
122
121
|
catch (error) {
|
|
123
|
-
console.error(chalk.red('❌ Failed to start Coconut
|
|
122
|
+
console.error(chalk.red('❌ Failed to start Coconut:'), error);
|
|
124
123
|
process.exit(1);
|
|
125
124
|
}
|
|
126
125
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,mDAAmD;AACnD,SAAS,eAAe,CAAC,IAAY,EAAE,OAAe,WAAW;IAC/D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;QAE9B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;YAC7B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;gBAChB,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,2CAA2C;AAC3C,KAAK,UAAU,iBAAiB,CAAC,OAAe,WAAW,EAAE,YAAoB,IAAI;IACnF,+BAA+B;IAC/B,IAAI,MAAM,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;QAC3C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,qEAAqE;IACrE,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACrE,IAAI,MAAM,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;YAC5C,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE;YAC1B,MAAM,IAAI,GAAI,MAAM,CAAC,OAAO,EAAU,EAAE,IAAI,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;gBAChB,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,0CAA0C;AAC1C,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAE3C,iCAAiC;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;IAEnE,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lovelybunch/cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.77-alpha.0",
|
|
4
4
|
"description": "Command-line interface for Coconut",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cli.js",
|
|
@@ -27,20 +27,7 @@
|
|
|
27
27
|
"publishConfig": {
|
|
28
28
|
"access": "public"
|
|
29
29
|
},
|
|
30
|
-
"scripts": {
|
|
31
|
-
"build": "tsc -b",
|
|
32
|
-
"dev": "tsc -b --watch",
|
|
33
|
-
"clean": "rm -rf dist tsconfig.tsbuildinfo coverage",
|
|
34
|
-
"type-check": "tsc --noEmit",
|
|
35
|
-
"test": "vitest run",
|
|
36
|
-
"test:coverage": "vitest run --coverage",
|
|
37
|
-
"test:watch": "vitest watch",
|
|
38
|
-
"test:ui": "vitest --ui"
|
|
39
|
-
},
|
|
40
30
|
"dependencies": {
|
|
41
|
-
"@lovelybunch/api": "^1.0.76",
|
|
42
|
-
"@lovelybunch/core": "^1.0.76",
|
|
43
|
-
"@lovelybunch/types": "^1.0.76",
|
|
44
31
|
"adm-zip": "^0.5.16",
|
|
45
32
|
"chalk": "^5.3.0",
|
|
46
33
|
"commander": "^11.1.0",
|
|
@@ -49,7 +36,10 @@
|
|
|
49
36
|
"inquirer": "^9.2.12",
|
|
50
37
|
"ora": "^8.0.1",
|
|
51
38
|
"table": "^6.8.1",
|
|
52
|
-
"ws": "^8.14.2"
|
|
39
|
+
"ws": "^8.14.2",
|
|
40
|
+
"@lovelybunch/api": "1.0.77-alpha.0",
|
|
41
|
+
"@lovelybunch/core": "1.0.77-alpha.0",
|
|
42
|
+
"@lovelybunch/types": "1.0.77-alpha.0"
|
|
53
43
|
},
|
|
54
44
|
"devDependencies": {
|
|
55
45
|
"@types/adm-zip": "^0.5.7",
|
|
@@ -66,5 +56,15 @@
|
|
|
66
56
|
"coconut"
|
|
67
57
|
],
|
|
68
58
|
"author": "",
|
|
69
|
-
"license": "ISC"
|
|
70
|
-
|
|
59
|
+
"license": "ISC",
|
|
60
|
+
"scripts": {
|
|
61
|
+
"build": "tsc -b",
|
|
62
|
+
"dev": "tsc -b --watch",
|
|
63
|
+
"clean": "rm -rf dist tsconfig.tsbuildinfo coverage",
|
|
64
|
+
"type-check": "tsc -b",
|
|
65
|
+
"test": "vitest run",
|
|
66
|
+
"test:coverage": "vitest run --coverage",
|
|
67
|
+
"test:watch": "vitest watch",
|
|
68
|
+
"test:ui": "vitest --ui"
|
|
69
|
+
}
|
|
70
|
+
}
|