@codenotch/codenotch.cli 1.0.51 → 1.0.53
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/project/refresh.js +40 -3
- package/dist/commands/project/refresh.js.map +1 -1
- package/dist/commands/react/index.js +1 -4
- package/dist/commands/react/index.js.map +1 -1
- package/dist/utils/BuildUtils.d.ts +23 -6
- package/dist/utils/BuildUtils.js +65 -25
- package/dist/utils/BuildUtils.js.map +1 -1
- package/dist/utils/ProjectTemplates.js +3 -3
- package/dist/utils/ProjectTemplates.js.map +1 -1
- package/dist/utils/RuntimeUtils.d.ts +15 -1
- package/dist/utils/RuntimeUtils.js +59 -3
- package/dist/utils/RuntimeUtils.js.map +1 -1
- package/dist/utils/TemplateUtils.js +16 -5
- package/dist/utils/TemplateUtils.js.map +1 -1
- package/package.json +1 -3
- package/resources/docs/apps.md +1 -2
- package/dist/commands/react/serve.d.ts +0 -2
- package/dist/commands/react/serve.js +0 -52
- package/dist/commands/react/serve.js.map +0 -1
- package/dist/utils/ServeUtils.d.ts +0 -9
- package/dist/utils/ServeUtils.js +0 -172
- package/dist/utils/ServeUtils.js.map +0 -1
package/dist/utils/ServeUtils.js
DELETED
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
40
|
-
const fs_1 = require("fs");
|
|
41
|
-
const path_1 = require("path");
|
|
42
|
-
class ServeUtils {
|
|
43
|
-
static async serveApp(directory, options) {
|
|
44
|
-
const port = options.port || 5000;
|
|
45
|
-
// resolve() already turns a relative path into an absolute one, based on the current directory
|
|
46
|
-
const targetDir = (0, path_1.resolve)(directory ?? '.');
|
|
47
|
-
const indexPath = (0, path_1.resolve)(targetDir, options.index || 'index.html');
|
|
48
|
-
if (!(0, fs_1.existsSync)(targetDir)) {
|
|
49
|
-
console.log(chalk_1.default.red(`Error: Target directory not found (${targetDir})`));
|
|
50
|
-
process.exit(1);
|
|
51
|
-
}
|
|
52
|
-
if (!(0, fs_1.existsSync)(indexPath)) {
|
|
53
|
-
console.log(chalk_1.default.red(`Error: Index file not found (${indexPath})`));
|
|
54
|
-
process.exit(1);
|
|
55
|
-
}
|
|
56
|
-
const envVariables = this.getEnvVariables((0, path_1.resolve)(targetDir, '.env'));
|
|
57
|
-
console.log(chalk_1.default.green('Starting production server...'));
|
|
58
|
-
console.log(chalk_1.default.blue(`Server: http://localhost:${port}`));
|
|
59
|
-
console.log(chalk_1.default.yellow('Using built-in static file server with custom endpoint\n'));
|
|
60
|
-
await this.startExpressServer(targetDir, indexPath, {
|
|
61
|
-
port: port,
|
|
62
|
-
envVariables: envVariables
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
static getEnvVariables(envPath) {
|
|
66
|
-
let envVariables = [];
|
|
67
|
-
if ((0, fs_1.existsSync)(envPath)) {
|
|
68
|
-
let envContent = (0, fs_1.readFileSync)(envPath, 'utf8');
|
|
69
|
-
envContent.split('\n').forEach(line => {
|
|
70
|
-
// Split on the first '=' only: json manifests and tokens hold '=' in their value
|
|
71
|
-
const separator = line.indexOf('=');
|
|
72
|
-
if (separator > 0) {
|
|
73
|
-
const key = line.substring(0, separator).trim();
|
|
74
|
-
const value = line.substring(separator + 1).trim();
|
|
75
|
-
if (key !== '' && value !== '') {
|
|
76
|
-
envVariables.push({ name: key, value: value });
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
console.log(chalk_1.default.green(`Loaded environment variables from "${envPath}":`));
|
|
81
|
-
envVariables.forEach(env => {
|
|
82
|
-
console.log(chalk_1.default.blue(`- ${env.name}=${env.value}`));
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
console.log(chalk_1.default.yellow(`Warning: No .env file found. Environment variables will not be loaded.`));
|
|
87
|
-
}
|
|
88
|
-
return envVariables;
|
|
89
|
-
}
|
|
90
|
-
static async startExpressServer(targetDir, indexPath, options) {
|
|
91
|
-
// Express server
|
|
92
|
-
try {
|
|
93
|
-
const express = await Promise.resolve().then(() => __importStar(require('express')));
|
|
94
|
-
const app = express.default();
|
|
95
|
-
// Serve static files
|
|
96
|
-
app.use(express.static(targetDir));
|
|
97
|
-
app.get('/api/env', (req, res) => {
|
|
98
|
-
let envData = {};
|
|
99
|
-
options.envVariables.forEach(env => {
|
|
100
|
-
envData[env.name] = env.value;
|
|
101
|
-
});
|
|
102
|
-
res.json(envData);
|
|
103
|
-
});
|
|
104
|
-
// Fallback to index.html for SPA - handle all unmatched routes
|
|
105
|
-
app.use((req, res, next) => {
|
|
106
|
-
// Skip fallback for static files (images, favicons, etc.)
|
|
107
|
-
const staticFileExtensions = ['.ico', '.png', '.jpg', '.jpeg', '.gif', '.svg', '.css', '.js', '.map', '.txt', '.xml', '.json'];
|
|
108
|
-
const hasStaticExtension = staticFileExtensions.some(ext => req.path.toLowerCase().endsWith(ext));
|
|
109
|
-
// Only serve index.html for GET requests that aren't API calls or static files
|
|
110
|
-
if (req.method === 'GET' && !req.path.startsWith('/api/') && !hasStaticExtension) {
|
|
111
|
-
console.log(chalk_1.default.gray(`Serving fallback for: ${req.path}`));
|
|
112
|
-
// Use a more robust approach for sending files with special characters
|
|
113
|
-
try {
|
|
114
|
-
res.sendFile(indexPath, {
|
|
115
|
-
maxAge: 0,
|
|
116
|
-
etag: false
|
|
117
|
-
}, (err) => {
|
|
118
|
-
if (err) {
|
|
119
|
-
console.error(chalk_1.default.red(`Error serving ${indexPath}: ${err.message}`));
|
|
120
|
-
if (!res.headersSent) {
|
|
121
|
-
res.status(404).send('Page not found');
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
catch (error) {
|
|
127
|
-
console.error(chalk_1.default.red(`Catch error: ${error}`));
|
|
128
|
-
if (!res.headersSent) {
|
|
129
|
-
res.status(500).send('Internal Server Error');
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
// For static files that don't exist, return 404 directly
|
|
135
|
-
if (hasStaticExtension) {
|
|
136
|
-
res.status(404).send('File not found');
|
|
137
|
-
}
|
|
138
|
-
else {
|
|
139
|
-
next();
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
const server = app.listen(options.port, () => {
|
|
144
|
-
console.log(chalk_1.default.green(`Server running on http://localhost:${options.port}`));
|
|
145
|
-
});
|
|
146
|
-
const killServer = () => {
|
|
147
|
-
console.log(chalk_1.default.yellow('\nStopping server...'));
|
|
148
|
-
// Force exit graceful shutdown takes too long
|
|
149
|
-
const forceExit = setTimeout(() => {
|
|
150
|
-
console.log(chalk_1.default.red('Force stopping server...'));
|
|
151
|
-
process.exit(0);
|
|
152
|
-
}, 500);
|
|
153
|
-
server.close(() => {
|
|
154
|
-
clearTimeout(forceExit);
|
|
155
|
-
process.exit(0);
|
|
156
|
-
});
|
|
157
|
-
// For Node.js 18.02+ - close all connections immediately
|
|
158
|
-
if (typeof server.closeAllConnections === 'function') {
|
|
159
|
-
server.closeAllConnections();
|
|
160
|
-
}
|
|
161
|
-
};
|
|
162
|
-
process.on('SIGINT', () => killServer());
|
|
163
|
-
process.on('SIGTERM', () => killServer());
|
|
164
|
-
}
|
|
165
|
-
catch (error) {
|
|
166
|
-
console.log(chalk_1.default.red(`Error starting server: ${error}`));
|
|
167
|
-
process.exit(1);
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
exports.default = ServeUtils;
|
|
172
|
-
//# sourceMappingURL=ServeUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ServeUtils.js","sourceRoot":"","sources":["../../src/utils/ServeUtils.ts"],"names":[],"mappings":"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"}
|