@hed-hog/developer-mode 0.0.193 → 0.0.195

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 (33) hide show
  1. package/dist/developermode.controller.d.ts +5 -0
  2. package/dist/developermode.controller.d.ts.map +1 -1
  3. package/dist/developermode.controller.js +87 -2
  4. package/dist/developermode.controller.js.map +1 -1
  5. package/dist/developermode.service.d.ts +121 -0
  6. package/dist/developermode.service.d.ts.map +1 -1
  7. package/dist/developermode.service.js +797 -3
  8. package/dist/developermode.service.js.map +1 -1
  9. package/dist/dto/run-script.dto.d.ts +6 -0
  10. package/dist/dto/run-script.dto.d.ts.map +1 -0
  11. package/dist/dto/run-script.dto.js +29 -0
  12. package/dist/dto/run-script.dto.js.map +1 -0
  13. package/dist/index.d.ts +1 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1 -0
  16. package/dist/index.js.map +1 -1
  17. package/hedhog/data/menu.yaml +3 -1
  18. package/hedhog/data/role.yaml +7 -0
  19. package/hedhog/data/route.yaml +3 -1
  20. package/hedhog/frontend/app/components/data.tsx.ejs +557 -0
  21. package/hedhog/frontend/app/components/icons.tsx.ejs +159 -0
  22. package/hedhog/frontend/app/components/sections.tsx.ejs +1251 -0
  23. package/hedhog/frontend/app/components/types.ts.ejs +86 -0
  24. package/hedhog/frontend/app/layout.tsx.ejs +10 -0
  25. package/hedhog/frontend/app/page.tsx.ejs +247 -0
  26. package/hedhog/frontend/app/provider.tsx.ejs +95 -0
  27. package/hedhog/frontend/messages/en.json +374 -0
  28. package/hedhog/frontend/messages/pt.json +374 -0
  29. package/package.json +3 -3
  30. package/src/developermode.controller.ts +89 -1
  31. package/src/developermode.service.ts +989 -2
  32. package/src/dto/run-script.dto.ts +12 -0
  33. package/src/index.ts +2 -0
@@ -1,6 +1,11 @@
1
+ import type { Response } from 'express';
1
2
  import { DeveloperModeService } from './developermode.service';
3
+ import { RunScriptDTO } from './dto/run-script.dto';
2
4
  export declare class DeveloperModeController {
3
5
  private readonly developerModeService;
6
+ private readonly logger;
4
7
  constructor(developerModeService: DeveloperModeService);
8
+ getData(): Promise<unknown>;
9
+ runScriptStream(data: RunScriptDTO, locale: string, res: Response): Promise<void>;
5
10
  }
6
11
  //# sourceMappingURL=developermode.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"developermode.controller.d.ts","sourceRoot":"","sources":["../src/developermode.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,qBACa,uBAAuB;IAEtB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAApB,oBAAoB,EAAE,oBAAoB;CAExE"}
1
+ {"version":3,"file":"developermode.controller.d.ts","sourceRoot":"","sources":["../src/developermode.controller.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,qBACa,uBAAuB;IAGtB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IAFjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;gBAEtC,oBAAoB,EAAE,oBAAoB;IAIjE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAM3B,eAAe,CACX,IAAI,EAAE,YAAY,EAChB,MAAM,EAAE,MAAM,EACjB,GAAG,EAAE,QAAQ;CAwEvB"}
@@ -8,17 +8,102 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var DeveloperModeController_1;
11
15
  Object.defineProperty(exports, "__esModule", { value: true });
12
16
  exports.DeveloperModeController = void 0;
17
+ const api_1 = require("@hed-hog/api");
18
+ const api_locale_1 = require("@hed-hog/api-locale");
13
19
  const common_1 = require("@nestjs/common");
14
20
  const developermode_service_1 = require("./developermode.service");
15
- let DeveloperModeController = class DeveloperModeController {
21
+ const run_script_dto_1 = require("./dto/run-script.dto");
22
+ let DeveloperModeController = DeveloperModeController_1 = class DeveloperModeController {
16
23
  constructor(developerModeService) {
17
24
  this.developerModeService = developerModeService;
25
+ this.logger = new common_1.Logger(DeveloperModeController_1.name);
26
+ }
27
+ async getData() {
28
+ return this.developerModeService.getDeveloperModeData();
29
+ }
30
+ async runScriptStream(data, locale, res) {
31
+ this.logger.log(`SSE request received: ${data.targetType}/${data.targetName} -> ${data.scriptName}`);
32
+ res.setHeader('Content-Type', 'text/event-stream');
33
+ res.setHeader('Cache-Control', 'no-cache');
34
+ res.setHeader('Connection', 'keep-alive');
35
+ res.setHeader('X-Accel-Buffering', 'no');
36
+ res.flushHeaders();
37
+ res.write(': connected\n\n');
38
+ let closed = false;
39
+ let emittedEvents = 0;
40
+ res.on('close', () => {
41
+ closed = true;
42
+ this.logger.log(`SSE connection closed for ${data.targetType}/${data.targetName} (${data.scriptName}) after ${emittedEvents} events`);
43
+ });
44
+ const sendEvent = (event, payload) => {
45
+ var _a, _b, _c;
46
+ if (closed)
47
+ return;
48
+ emittedEvents += 1;
49
+ res.write(`event: ${event}\n`);
50
+ res.write(`data: ${JSON.stringify(payload)}\n\n`);
51
+ (_b = (_a = res).flush) === null || _b === void 0 ? void 0 : _b.call(_a);
52
+ const preview = typeof payload === 'object' && payload && 'message' in payload
53
+ ? String((_c = payload.message) !== null && _c !== void 0 ? _c : '')
54
+ : '';
55
+ this.logger.log(`SSE event #${emittedEvents} (${event}) ${preview ? `- ${preview.slice(0, 120)}` : ''}`);
56
+ };
57
+ sendEvent('start', {
58
+ message: `Starting ${data.targetType} script ${data.scriptName} (${data.targetName})...`,
59
+ timestamp: new Date().toISOString(),
60
+ });
61
+ try {
62
+ await this.developerModeService.streamAllowedScript(data, locale, (event, message) => {
63
+ sendEvent(event, {
64
+ message,
65
+ timestamp: new Date().toISOString(),
66
+ });
67
+ });
68
+ }
69
+ catch (error) {
70
+ sendEvent('error', {
71
+ message: error instanceof Error
72
+ ? error.message
73
+ : 'Script execution failed unexpectedly.',
74
+ timestamp: new Date().toISOString(),
75
+ });
76
+ sendEvent('end', {
77
+ success: false,
78
+ timestamp: new Date().toISOString(),
79
+ });
80
+ }
81
+ finally {
82
+ if (!closed) {
83
+ res.end();
84
+ }
85
+ }
18
86
  }
19
87
  };
20
88
  exports.DeveloperModeController = DeveloperModeController;
21
- exports.DeveloperModeController = DeveloperModeController = __decorate([
89
+ __decorate([
90
+ (0, api_1.Public)(),
91
+ (0, common_1.Get)(),
92
+ __metadata("design:type", Function),
93
+ __metadata("design:paramtypes", []),
94
+ __metadata("design:returntype", Promise)
95
+ ], DeveloperModeController.prototype, "getData", null);
96
+ __decorate([
97
+ (0, common_1.Post)('scripts/stream'),
98
+ (0, common_1.HttpCode)(200),
99
+ __param(0, (0, common_1.Body)()),
100
+ __param(1, (0, api_locale_1.Locale)()),
101
+ __param(2, (0, common_1.Res)()),
102
+ __metadata("design:type", Function),
103
+ __metadata("design:paramtypes", [run_script_dto_1.RunScriptDTO, String, Object]),
104
+ __metadata("design:returntype", Promise)
105
+ ], DeveloperModeController.prototype, "runScriptStream", null);
106
+ exports.DeveloperModeController = DeveloperModeController = DeveloperModeController_1 = __decorate([
22
107
  (0, common_1.Controller)('developer-mode'),
23
108
  __metadata("design:paramtypes", [developermode_service_1.DeveloperModeService])
24
109
  ], DeveloperModeController);
@@ -1 +1 @@
1
- {"version":3,"file":"developermode.controller.js","sourceRoot":"","sources":["../src/developermode.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,mEAA+D;AAGxD,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAElC,YAA6B,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;IAAG,CAAC;CAE5E,CAAA;AAJY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,EAAC,gBAAgB,CAAC;qCAGwB,4CAAoB;GAF5D,uBAAuB,CAInC"}
1
+ {"version":3,"file":"developermode.controller.js","sourceRoot":"","sources":["../src/developermode.controller.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,124 @@
1
+ import { RunScriptDTO } from './dto/run-script.dto';
2
+ type FrameworkType = 'nestjs' | 'nextjs' | 'angular' | 'vue' | 'react-native' | 'expo';
3
+ interface LibraryScript {
4
+ name: string;
5
+ command: string;
6
+ }
7
+ interface AppInfo {
8
+ name: string;
9
+ path: string;
10
+ framework: FrameworkType;
11
+ database?: string;
12
+ description: string;
13
+ port?: number;
14
+ status: 'running' | 'stopped' | 'error';
15
+ scripts?: string[];
16
+ }
17
+ interface LibraryInfo {
18
+ name: string;
19
+ version: string;
20
+ latestVersion?: string;
21
+ installed: boolean;
22
+ description: string;
23
+ scripts: LibraryScript[];
24
+ }
25
+ interface DatabaseInfo {
26
+ name: string;
27
+ host: string;
28
+ port: number;
29
+ type: 'postgresql' | 'mysql' | 'unknown';
30
+ user?: string;
31
+ database?: string;
32
+ tables?: number;
33
+ size?: string;
34
+ connections?: {
35
+ active: number;
36
+ max: number;
37
+ };
38
+ lastMigration?: {
39
+ name: string;
40
+ date: string;
41
+ status: 'success' | 'failed' | 'pending';
42
+ };
43
+ connected?: boolean;
44
+ }
45
+ interface CommitInfo {
46
+ hash: string;
47
+ message: string;
48
+ author: string;
49
+ authorAvatar?: string;
50
+ date: string;
51
+ branch: string;
52
+ }
53
+ interface GitInfo {
54
+ repoName?: string;
55
+ currentBranch: string;
56
+ totalBranches: number;
57
+ openPRs: number;
58
+ recentCommits: CommitInfo[];
59
+ }
60
+ interface ProjectStats {
61
+ nodeVersion: string;
62
+ diskUsage: string;
63
+ totalApps: number;
64
+ totalLibraries: number;
65
+ dbConnections: number;
66
+ gitBranch: string;
67
+ lastCommit: string;
68
+ uptime: string;
69
+ }
70
+ interface DeveloperModeData {
71
+ apps: AppInfo[];
72
+ libraries: LibraryInfo[];
73
+ database: DatabaseInfo;
74
+ git: GitInfo;
75
+ stats: ProjectStats;
76
+ }
1
77
  export declare class DeveloperModeService {
78
+ private readonly logger;
79
+ private readonly repoRoot;
80
+ private readonly appScriptAllowList;
81
+ private readonly libraryScriptAllowList;
82
+ constructor();
83
+ /**
84
+ * Obtém todos os dados do developer mode
85
+ */
86
+ getDeveloperModeData(): Promise<DeveloperModeData>;
87
+ streamAllowedScript(input: RunScriptDTO, _locale: string, onMessage: (event: 'start' | 'output' | 'error' | 'end', message: string) => void): Promise<void>;
88
+ /**
89
+ * Obtém informações de todos os aplicativos
90
+ */
91
+ private getApps;
92
+ /**
93
+ * Obtém informações de todas as libraries
94
+ */
95
+ private getLibraries;
96
+ /**
97
+ * Obtém informações do banco de dados
98
+ */
99
+ private getDatabaseInfo;
100
+ /**
101
+ * Obtém informações do git
102
+ */
103
+ private getGitInfo;
104
+ /**
105
+ * Obtém estatísticas do projeto
106
+ */
107
+ private getStats;
108
+ /**
109
+ * Métodos auxiliares
110
+ */
111
+ private getRepoRoot;
112
+ private detectAppType;
113
+ private checkAppStatus;
114
+ private checkHasTests;
115
+ private getAllFiles;
116
+ private parseDatabaseUrl;
117
+ private findFilesByPattern;
118
+ private getDirSize;
119
+ private formatBytes;
120
+ private getScriptTargetAndValidate;
121
+ private spawnAndStreamScript;
2
122
  }
123
+ export {};
3
124
  //# sourceMappingURL=developermode.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"developermode.service.d.ts","sourceRoot":"","sources":["../src/developermode.service.ts"],"names":[],"mappings":"AAEA,qBACa,oBAAoB;CAAG"}
1
+ {"version":3,"file":"developermode.service.d.ts","sourceRoot":"","sources":["../src/developermode.service.ts"],"names":[],"mappings":"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"}