@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.
@@ -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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"}