neex 0.4.4 → 0.4.6

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.
Files changed (55) hide show
  1. package/README.md +43 -73
  2. package/bun.lock +38 -356
  3. package/dist/bin/neex.js +4 -0
  4. package/dist/{cli.js → src/cli.js} +8 -18
  5. package/dist/{commands → src/commands}/run-commands/run.js +0 -1
  6. package/dist/src/index.js +70 -0
  7. package/dist/{logger.js → src/logger.js} +0 -1
  8. package/dist/src/project-manager.js +208 -0
  9. package/dist/{runner.js → src/runner.js} +0 -1
  10. package/dist/{types.js → src/types.js} +0 -1
  11. package/package.json +3 -17
  12. package/.env +0 -2
  13. package/Screenshot 1404-03-20 at 17.20.45.png +0 -0
  14. package/Screenshot 1404-03-20 at 17.20.56.png +0 -0
  15. package/Screenshot 1404-03-20 at 17.21.04.png +0 -0
  16. package/dist/cli.d.ts +0 -1
  17. package/dist/cli.js.map +0 -1
  18. package/dist/commands/process-command/process.d.ts +0 -2
  19. package/dist/commands/process-command/process.js +0 -150
  20. package/dist/commands/process-command/process.js.map +0 -1
  21. package/dist/commands/project-command/build.d.ts +0 -3
  22. package/dist/commands/project-command/build.js +0 -42
  23. package/dist/commands/project-command/build.js.map +0 -1
  24. package/dist/commands/project-command/cache.d.ts +0 -3
  25. package/dist/commands/project-command/cache.js +0 -57
  26. package/dist/commands/project-command/cache.js.map +0 -1
  27. package/dist/commands/project-command/dev.d.ts +0 -3
  28. package/dist/commands/project-command/dev.js +0 -52
  29. package/dist/commands/project-command/dev.js.map +0 -1
  30. package/dist/commands/project-command/start.d.ts +0 -3
  31. package/dist/commands/project-command/start.js +0 -46
  32. package/dist/commands/project-command/start.js.map +0 -1
  33. package/dist/commands/run-commands/run.d.ts +0 -2
  34. package/dist/commands/run-commands/run.js.map +0 -1
  35. package/dist/index.d.ts +0 -30
  36. package/dist/index.js +0 -66
  37. package/dist/index.js.map +0 -1
  38. package/dist/logger.d.ts +0 -31
  39. package/dist/logger.js.map +0 -1
  40. package/dist/process-manager.d.ts +0 -60
  41. package/dist/process-manager.js +0 -277
  42. package/dist/process-manager.js.map +0 -1
  43. package/dist/project-manager.d.ts +0 -64
  44. package/dist/project-manager.js +0 -467
  45. package/dist/project-manager.js.map +0 -1
  46. package/dist/runner.d.ts +0 -17
  47. package/dist/runner.js.map +0 -1
  48. package/dist/server.d.ts +0 -2
  49. package/dist/server.js +0 -67
  50. package/dist/server.js.map +0 -1
  51. package/dist/types.d.ts +0 -37
  52. package/dist/types.js.map +0 -1
  53. package/dist/typescript-runner.d.ts +0 -12
  54. package/dist/typescript-runner.js +0 -162
  55. package/dist/typescript-runner.js.map +0 -1
@@ -1,277 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.processManager = void 0;
7
- const child_process_1 = require("child_process");
8
- const chokidar_1 = require("chokidar");
9
- const fs_1 = require("fs");
10
- const path_1 = require("path");
11
- const chalk_1 = __importDefault(require("chalk"));
12
- const figures_1 = __importDefault(require("figures"));
13
- const events_1 = require("events");
14
- const cli_table3_1 = __importDefault(require("cli-table3"));
15
- const child_process_2 = require("child_process");
16
- const logger_1 = __importDefault(require("./logger"));
17
- class ProcessManager extends events_1.EventEmitter {
18
- constructor() {
19
- super();
20
- this.processes = new Map();
21
- this.watchers = new Map();
22
- this.defaultMaxRestarts = 5;
23
- this.defaultRestartDelay = 1000;
24
- this.logDir = (0, path_1.resolve)(process.cwd(), '.neex-logs');
25
- this.configFile = (0, path_1.resolve)(process.cwd(), '.neex-config.json');
26
- this.initialize();
27
- }
28
- initialize() {
29
- if (!(0, fs_1.existsSync)(this.logDir)) {
30
- (0, fs_1.mkdirSync)(this.logDir, { recursive: true });
31
- }
32
- this.loadConfig();
33
- }
34
- loadConfig() {
35
- if ((0, fs_1.existsSync)(this.configFile)) {
36
- const config = JSON.parse((0, fs_1.readFileSync)(this.configFile, 'utf-8'));
37
- this.processes = new Map(Object.entries(config));
38
- }
39
- }
40
- saveConfig() {
41
- const config = Object.fromEntries(this.processes);
42
- (0, fs_1.writeFileSync)(this.configFile, JSON.stringify(config, null, 2));
43
- }
44
- getLogPath(name) {
45
- return (0, path_1.join)(this.logDir, `${name}.log`);
46
- }
47
- async startProcess(command, options = {}) {
48
- const name = options.name || this.generateName(command);
49
- const cwd = options.cwd || process.cwd();
50
- if (this.processes.has(name)) {
51
- throw new Error(`Process with name ${name} already exists`);
52
- }
53
- const processInfo = {
54
- name,
55
- pid: 0,
56
- status: 'stopped',
57
- startTime: Date.now(),
58
- command,
59
- logs: [],
60
- memory: 0,
61
- cpu: 0,
62
- uptime: 0,
63
- restarts: 0,
64
- maxRestarts: options.maxRestarts || this.defaultMaxRestarts,
65
- restartDelay: options.restartDelay || this.defaultRestartDelay,
66
- watch: options.watch,
67
- cwd,
68
- env: options.env
69
- };
70
- try {
71
- await this.startProcessInternal(processInfo);
72
- return processInfo;
73
- }
74
- catch (error) {
75
- processInfo.status = 'error';
76
- processInfo.lastError = error.message;
77
- this.processes.set(name, processInfo);
78
- this.saveConfig();
79
- throw error;
80
- }
81
- }
82
- async startProcessInternal(processInfo) {
83
- const [cmd, ...args] = processInfo.command.split(' ');
84
- const child = (0, child_process_1.spawn)(cmd, args, {
85
- stdio: ['ignore', 'pipe', 'pipe'],
86
- env: {
87
- ...process.env,
88
- NODE_ENV: 'production',
89
- ...processInfo.env
90
- },
91
- cwd: processInfo.cwd,
92
- shell: true
93
- });
94
- processInfo.pid = child.pid || 0;
95
- processInfo.status = 'running';
96
- processInfo.startTime = Date.now();
97
- // Setup logging
98
- (0, fs_1.writeFileSync)(this.getLogPath(processInfo.name), '', { flag: 'a' });
99
- child.stdout?.on('data', (data) => {
100
- const log = data.toString();
101
- processInfo.logs.push(log);
102
- (0, fs_1.writeFileSync)(this.getLogPath(processInfo.name), log, { flag: 'a' });
103
- this.emit('log', { name: processInfo.name, log });
104
- });
105
- child.stderr?.on('data', (data) => {
106
- const log = data.toString();
107
- processInfo.logs.push(log);
108
- (0, fs_1.writeFileSync)(this.getLogPath(processInfo.name), log, { flag: 'a' });
109
- this.emit('error', { name: processInfo.name, log });
110
- });
111
- // Setup monitoring
112
- if (processInfo.watch && processInfo.cwd) {
113
- const watcher = (0, chokidar_1.watch)(processInfo.cwd, {
114
- ignored: /(^|[\/\\])\../,
115
- persistent: true
116
- });
117
- watcher.on('change', () => {
118
- this.restart(processInfo.name);
119
- });
120
- this.watchers.set(processInfo.name, watcher);
121
- }
122
- // Monitor process
123
- const monitorInterval = setInterval(() => {
124
- if (child.pid) {
125
- try {
126
- const stats = this.getProcessStats(child.pid);
127
- processInfo.memory = stats.memory;
128
- processInfo.cpu = stats.cpu;
129
- processInfo.uptime = (Date.now() - processInfo.startTime) / 1000;
130
- this.emit('stats', { name: processInfo.name, stats: processInfo });
131
- }
132
- catch (error) {
133
- console.error(`Error monitoring process ${processInfo.name}:`, error);
134
- }
135
- }
136
- }, 1000);
137
- child.on('exit', async (code) => {
138
- clearInterval(monitorInterval);
139
- if (code !== 0) {
140
- processInfo.status = 'error';
141
- processInfo.lastError = `Process exited with code ${code}`;
142
- this.emit('error', { name: processInfo.name, code });
143
- if (processInfo.restarts < processInfo.maxRestarts) {
144
- processInfo.status = 'restarting';
145
- this.emit('restart', { name: processInfo.name, attempt: processInfo.restarts + 1 });
146
- await new Promise(resolve => setTimeout(resolve, processInfo.restartDelay));
147
- processInfo.restarts++;
148
- await this.startProcessInternal(processInfo);
149
- }
150
- else {
151
- this.emit('max-restarts', { name: processInfo.name, maxRestarts: processInfo.maxRestarts });
152
- }
153
- }
154
- else {
155
- processInfo.status = 'stopped';
156
- }
157
- this.saveConfig();
158
- });
159
- this.processes.set(processInfo.name, processInfo);
160
- this.saveConfig();
161
- this.emit('start', { name: processInfo.name, processInfo });
162
- }
163
- getProcessStats(pid) {
164
- try {
165
- const stats = (0, child_process_2.execSync)(`ps -p ${pid} -o %mem,%cpu`).toString().split('\n')[1].trim().split(/\s+/);
166
- return {
167
- memory: parseFloat(stats[0]),
168
- cpu: parseFloat(stats[1])
169
- };
170
- }
171
- catch {
172
- return { memory: 0, cpu: 0 };
173
- }
174
- }
175
- async stop(name) {
176
- const processInfo = this.processes.get(name);
177
- if (!processInfo) {
178
- throw new Error(`Process ${name} not found`);
179
- }
180
- try {
181
- process.kill(processInfo.pid);
182
- const watcher = this.watchers.get(name);
183
- if (watcher) {
184
- watcher.close();
185
- this.watchers.delete(name);
186
- }
187
- this.processes.delete(name);
188
- this.saveConfig();
189
- this.emit('stop', { name });
190
- }
191
- catch (error) {
192
- throw new Error(`Failed to stop process ${name}: ${error.message}`);
193
- }
194
- }
195
- monit(name) {
196
- const processInfo = this.processes.get(name);
197
- if (!processInfo) {
198
- throw new Error(`Process ${name} not found`);
199
- }
200
- console.log(chalk_1.default.blue(`${figures_1.default.info} Monitoring process ${name}...`));
201
- console.log(chalk_1.default.cyan('Press Ctrl+C to stop monitoring'));
202
- const interval = setInterval(() => {
203
- if (!this.processes.has(name)) {
204
- clearInterval(interval);
205
- return;
206
- }
207
- const stats = this.getProcessStats(processInfo.pid);
208
- console.clear();
209
- console.log(chalk_1.default.blue(`${figures_1.default.info} Process ${name} stats:`));
210
- console.log(chalk_1.default.cyan('Memory:'), `${stats.memory.toFixed(1)}%`);
211
- console.log(chalk_1.default.cyan('CPU:'), `${stats.cpu.toFixed(1)}%`);
212
- console.log(chalk_1.default.cyan('Uptime:'), `${processInfo.uptime.toFixed(1)}s`);
213
- console.log(chalk_1.default.cyan('Restarts:'), processInfo.restarts);
214
- }, 1000);
215
- process.on('SIGINT', () => {
216
- clearInterval(interval);
217
- process.exit(0);
218
- });
219
- }
220
- list() {
221
- const table = new cli_table3_1.default({
222
- head: ['Name', 'Status', 'PID', 'Memory', 'CPU', 'Uptime', 'Restarts'],
223
- style: { head: ['cyan'] }
224
- });
225
- Array.from(this.processes.values()).forEach(process => {
226
- const statusColor = process.status === 'running' ? 'green' :
227
- process.status === 'error' ? 'red' :
228
- process.status === 'restarting' ? 'yellow' : 'gray';
229
- table.push([
230
- process.name,
231
- chalk_1.default[statusColor](process.status),
232
- process.pid || '-',
233
- `${process.memory.toFixed(1)}%`,
234
- `${process.cpu.toFixed(1)}%`,
235
- `${process.uptime.toFixed(1)}s`,
236
- process.restarts
237
- ]);
238
- });
239
- console.log(table.toString());
240
- }
241
- log(name, lines = 100) {
242
- const processInfo = this.processes.get(name);
243
- if (!processInfo) {
244
- throw new Error(`Process ${name} not found`);
245
- }
246
- const logPath = this.getLogPath(name);
247
- if (!(0, fs_1.existsSync)(logPath)) {
248
- logger_1.default.printLine(`No logs found for process ${name}`, 'warn');
249
- return;
250
- }
251
- const logs = (0, fs_1.readFileSync)(logPath, 'utf-8').split('\n').slice(-lines);
252
- logger_1.default.printLine(`Last ${lines} lines of logs for process ${name}:`, 'info');
253
- logs.forEach(log => logger_1.default.printLine(log, 'info'));
254
- }
255
- async restart(name) {
256
- const processInfo = this.processes.get(name);
257
- if (!processInfo) {
258
- throw new Error(`Process ${name} not found`);
259
- }
260
- console.log(chalk_1.default.yellow(`${figures_1.default.info} Restarting process ${name}...`));
261
- await this.stop(name);
262
- await this.startProcessInternal(processInfo);
263
- }
264
- async startx(command, options = {}) {
265
- return this.startProcess(command, options);
266
- }
267
- async stopx(name) {
268
- return this.stop(name);
269
- }
270
- generateName(command) {
271
- const baseName = command.split(' ')[0].replace(/[^a-zA-Z0-9]/g, '');
272
- const timestamp = Date.now().toString(36);
273
- return `${baseName}-${timestamp}`;
274
- }
275
- }
276
- exports.processManager = new ProcessManager();
277
- //# sourceMappingURL=process-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process-manager.js","sourceRoot":"","sources":["../src/process-manager.ts"],"names":[],"mappings":"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"}
@@ -1,64 +0,0 @@
1
- /// <reference types="node" />
2
- export interface CacheStats {
3
- size: string;
4
- files: number;
5
- lastUpdated: string;
6
- }
7
- export interface DevOptions {
8
- entry: string;
9
- port: string;
10
- watch: string[];
11
- ignore: string[];
12
- ext: string[];
13
- delay: string;
14
- clear: boolean;
15
- cache: boolean;
16
- compiler: string;
17
- inspect: boolean;
18
- inspectBrk: boolean;
19
- }
20
- export interface BuildOptions {
21
- outDir: string;
22
- minify: boolean;
23
- sourcemap: boolean;
24
- watch: boolean;
25
- compiler: string;
26
- target: string;
27
- }
28
- export interface StartOptions {
29
- port: string;
30
- outDir: string;
31
- entry: string;
32
- inspect: boolean;
33
- cluster: boolean;
34
- workers: string;
35
- maxMemory: string;
36
- healthCheck: boolean;
37
- }
38
- export declare class ProjectManager {
39
- private tsRunner;
40
- private server;
41
- private watcher;
42
- private buildWatcher;
43
- private isRestarting;
44
- constructor();
45
- startDev(options: DevOptions): Promise<void>;
46
- build(options: BuildOptions): Promise<void>;
47
- start(options: StartOptions): Promise<void>;
48
- private startDevServer;
49
- private startProductionServer;
50
- private executeBuild;
51
- private startBuildWatch;
52
- private setupFileWatcher;
53
- private setupCleanup;
54
- private getBuildCommand;
55
- private ensureCacheDir;
56
- private handleError;
57
- private calculateDirectorySize;
58
- private formatFileSize;
59
- private countFiles;
60
- clearCache(): void;
61
- getCacheStats(): CacheStats;
62
- getCachePath(): string;
63
- cleanup(signal: NodeJS.Signals): void;
64
- }