projax 3.3.51 → 3.3.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.
Files changed (167) hide show
  1. package/README.md +0 -73
  2. package/coverage/core-bridge.ts.html +24 -3
  3. package/coverage/index.html +34 -19
  4. package/coverage/lcov-report/core-bridge.ts.html +24 -3
  5. package/coverage/lcov-report/index.html +34 -19
  6. package/coverage/lcov-report/port-extractor.ts.html +1 -1
  7. package/coverage/lcov-report/port-scanner.ts.html +3 -3
  8. package/coverage/lcov-report/port-utils.ts.html +1 -1
  9. package/coverage/lcov-report/script-runner.ts.html +302 -11
  10. package/coverage/lcov-report/test-parser.ts.html +799 -0
  11. package/coverage/lcov.info +270 -49
  12. package/coverage/port-extractor.ts.html +1 -1
  13. package/coverage/port-scanner.ts.html +3 -3
  14. package/coverage/port-utils.ts.html +1 -1
  15. package/coverage/script-runner.ts.html +302 -11
  16. package/coverage/test-parser.ts.html +799 -0
  17. package/dist/__tests__/port-scanner.test.js +17 -7
  18. package/dist/__tests__/script-runner.test.js +17 -7
  19. package/dist/api/__tests__/database.test.js +17 -7
  20. package/dist/api/__tests__/database.test.js.map +1 -1
  21. package/dist/api/__tests__/routes.test.js +18 -7
  22. package/dist/api/__tests__/routes.test.js.map +1 -1
  23. package/dist/api/__tests__/scanner.test.js +18 -7
  24. package/dist/api/__tests__/scanner.test.js.map +1 -1
  25. package/dist/api/core-bridge.d.ts +8 -0
  26. package/dist/api/core-bridge.d.ts.map +1 -0
  27. package/dist/api/core-bridge.js +86 -0
  28. package/dist/api/core-bridge.js.map +1 -0
  29. package/dist/api/database.d.ts +0 -8
  30. package/dist/api/database.d.ts.map +1 -1
  31. package/dist/api/database.js +24 -57
  32. package/dist/api/database.js.map +1 -1
  33. package/dist/api/index.js +19 -9
  34. package/dist/api/index.js.map +1 -1
  35. package/dist/api/migrate.js +1 -2
  36. package/dist/api/migrate.js.map +1 -1
  37. package/dist/api/package.json +6 -3
  38. package/dist/api/routes/backup.d.ts +2 -1
  39. package/dist/api/routes/backup.d.ts.map +1 -1
  40. package/dist/api/routes/backup.js +4 -4
  41. package/dist/api/routes/backup.js.map +1 -1
  42. package/dist/api/routes/index.d.ts +2 -1
  43. package/dist/api/routes/index.d.ts.map +1 -1
  44. package/dist/api/routes/index.js +0 -2
  45. package/dist/api/routes/index.js.map +1 -1
  46. package/dist/api/routes/projects.d.ts +2 -1
  47. package/dist/api/routes/projects.d.ts.map +1 -1
  48. package/dist/api/routes/projects.js +19 -9
  49. package/dist/api/routes/projects.js.map +1 -1
  50. package/dist/api/routes/settings.d.ts +2 -1
  51. package/dist/api/routes/settings.d.ts.map +1 -1
  52. package/dist/api/routes/settings.js +22 -57
  53. package/dist/api/routes/settings.js.map +1 -1
  54. package/dist/api/routes/workspaces.d.ts +2 -1
  55. package/dist/api/routes/workspaces.d.ts.map +1 -1
  56. package/dist/api/routes/workspaces.js +29 -104
  57. package/dist/api/routes/workspaces.js.map +1 -1
  58. package/dist/api/services/scanner.js +19 -10
  59. package/dist/api/services/scanner.js.map +1 -1
  60. package/dist/api/services/test-parser.js +2 -3
  61. package/dist/api/services/test-parser.js.map +1 -1
  62. package/dist/api/types.d.ts +0 -5
  63. package/dist/api/types.d.ts.map +1 -1
  64. package/dist/core/__tests__/database.test.js +17 -7
  65. package/dist/core/__tests__/detector.test.js +17 -7
  66. package/dist/core/__tests__/index.test.js +18 -7
  67. package/dist/core/__tests__/scanner.test.js +18 -7
  68. package/dist/core/__tests__/settings.test.js +18 -7
  69. package/dist/core/backup-utils.js +20 -11
  70. package/dist/core/database.js +18 -9
  71. package/dist/core/detector.js +21 -11
  72. package/dist/core/git-utils.js +19 -10
  73. package/dist/core/index.js +5 -5
  74. package/dist/core/scanner.js +2 -3
  75. package/dist/core/settings.d.ts +0 -85
  76. package/dist/core/settings.js +9 -306
  77. package/dist/core/workspace-utils.js +20 -11
  78. package/dist/core-bridge.js +22 -8
  79. package/dist/electron/core/__tests__/database.test.js +17 -7
  80. package/dist/electron/core/__tests__/detector.test.js +17 -7
  81. package/dist/electron/core/__tests__/index.test.js +18 -7
  82. package/dist/electron/core/__tests__/scanner.test.js +18 -7
  83. package/dist/electron/core/__tests__/settings.test.js +18 -7
  84. package/dist/electron/core/backup-utils.js +20 -11
  85. package/dist/electron/core/database.js +18 -9
  86. package/dist/electron/core/detector.js +21 -11
  87. package/dist/electron/core/git-utils.js +19 -10
  88. package/dist/electron/core/index.js +5 -5
  89. package/dist/electron/core/scanner.js +2 -3
  90. package/dist/electron/core/settings.d.ts +0 -85
  91. package/dist/electron/core/settings.js +9 -306
  92. package/dist/electron/core/workspace-utils.js +20 -11
  93. package/dist/electron/core.js +22 -8
  94. package/dist/electron/main.js +143 -444
  95. package/dist/electron/port-extractor.js +18 -9
  96. package/dist/electron/port-scanner.js +21 -12
  97. package/dist/electron/port-utils.js +4 -5
  98. package/dist/electron/preload.d.ts +2 -13
  99. package/dist/electron/preload.js +2 -9
  100. package/dist/electron/renderer/assets/index-BjZn_mEF.js +66 -0
  101. package/dist/electron/renderer/assets/index-CZmDxbJO.js +66 -0
  102. package/dist/electron/renderer/assets/{index-DWe2TQFv.css → index-DfocdjIj.css} +1 -1
  103. package/dist/electron/renderer/index.html +2 -2
  104. package/dist/electron/script-runner.js +29 -20
  105. package/dist/index.js +37 -134
  106. package/dist/port-extractor.js +18 -9
  107. package/dist/port-scanner.js +21 -12
  108. package/dist/port-utils.js +4 -5
  109. package/dist/prxi.d.ts +1 -0
  110. package/dist/prxi.js +1106 -0
  111. package/dist/prxi.tsx +6 -6
  112. package/dist/script-runner.js +29 -20
  113. package/dist/test-parser.js +2 -3
  114. package/jest.config.js +8 -0
  115. package/package.json +9 -6
  116. package/dist/api/routes/mcp.d.ts +0 -3
  117. package/dist/api/routes/mcp.d.ts.map +0 -1
  118. package/dist/api/routes/mcp.js +0 -147
  119. package/dist/api/routes/mcp.js.map +0 -1
  120. package/dist/electron/renderer/assets/index-59AhiV_K.css +0 -1
  121. package/dist/electron/renderer/assets/index-A04svynq.js +0 -62
  122. package/dist/electron/renderer/assets/index-B-etDnj2.js +0 -64
  123. package/dist/electron/renderer/assets/index-BGodNljq.js +0 -62
  124. package/dist/electron/renderer/assets/index-Bx18Cyic.js +0 -64
  125. package/dist/electron/renderer/assets/index-ByBOaxqv.js +0 -62
  126. package/dist/electron/renderer/assets/index-ByHY-x-j.js +0 -62
  127. package/dist/electron/renderer/assets/index-C1SRt6Jx.js +0 -62
  128. package/dist/electron/renderer/assets/index-C8f5yNYe.js +0 -64
  129. package/dist/electron/renderer/assets/index-C9Fo49a8.js +0 -61
  130. package/dist/electron/renderer/assets/index-CGx7K7jh.js +0 -62
  131. package/dist/electron/renderer/assets/index-CIZ3Wl6c.css +0 -1
  132. package/dist/electron/renderer/assets/index-CJbsU9y8.css +0 -1
  133. package/dist/electron/renderer/assets/index-CJrLunKK.js +0 -62
  134. package/dist/electron/renderer/assets/index-CQTleudf.css +0 -1
  135. package/dist/electron/renderer/assets/index-CQcilqlv.js +0 -62
  136. package/dist/electron/renderer/assets/index-CS-85xbL.css +0 -1
  137. package/dist/electron/renderer/assets/index-CYph0WPA.js +0 -62
  138. package/dist/electron/renderer/assets/index-C_WSLD6y.css +0 -1
  139. package/dist/electron/renderer/assets/index-CgB-tTpV.js +0 -62
  140. package/dist/electron/renderer/assets/index-ChoTzPLo.css +0 -1
  141. package/dist/electron/renderer/assets/index-CopVNRnR.js +0 -64
  142. package/dist/electron/renderer/assets/index-D1jmaGv5.css +0 -1
  143. package/dist/electron/renderer/assets/index-D2AOB6Er.js +0 -62
  144. package/dist/electron/renderer/assets/index-DAfjuYKX.js +0 -61
  145. package/dist/electron/renderer/assets/index-DEOOHPEi.css +0 -1
  146. package/dist/electron/renderer/assets/index-DTtg6XrF.css +0 -1
  147. package/dist/electron/renderer/assets/index-DUvcepWm.js +0 -64
  148. package/dist/electron/renderer/assets/index-DVWDlM1D.js +0 -62
  149. package/dist/electron/renderer/assets/index-DZzB20Xf.css +0 -1
  150. package/dist/electron/renderer/assets/index-Dk0EQt0u.css +0 -1
  151. package/dist/electron/renderer/assets/index-DknLdADV.js +0 -63
  152. package/dist/electron/renderer/assets/index-DocuD8Lk.js +0 -64
  153. package/dist/electron/renderer/assets/index-DwRy5FqP.js +0 -62
  154. package/dist/electron/renderer/assets/index-DyU-xfd8.css +0 -1
  155. package/dist/electron/renderer/assets/index-GwC-JVUy.css +0 -1
  156. package/dist/electron/renderer/assets/index-JXrtTB1F.js +0 -63
  157. package/dist/electron/renderer/assets/index-Ocrdv8Lb.css +0 -1
  158. package/dist/electron/renderer/assets/index-R-HsWJ0K.js +0 -62
  159. package/dist/electron/renderer/assets/index-Ytah0wbZ.js +0 -62
  160. package/dist/electron/renderer/assets/index-ZVyXUshO.css +0 -1
  161. package/dist/electron/renderer/assets/index-Z_8dJn3i.js +0 -62
  162. package/dist/electron/renderer/assets/index-fehviker.js +0 -63
  163. package/dist/electron/renderer/assets/index-nts9ST-M.js +0 -62
  164. package/dist/electron/renderer/assets/index-q8NVIH3g.css +0 -1
  165. package/dist/electron/renderer/assets/index-thUWIXon.js +0 -62
  166. package/dist/electron/renderer/assets/index-tuQmrwcm.css +0 -1
  167. package/dist/prxi/src/index.tsx +0 -1370
@@ -15,15 +15,25 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
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
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.extractPortsFromProject = void 0;
36
+ exports.extractPortsFromProject = extractPortsFromProject;
27
37
  const fs = __importStar(require("fs"));
28
38
  const path = __importStar(require("path"));
29
39
  /**
@@ -56,7 +66,6 @@ async function extractPortsFromProject(projectPath) {
56
66
  const uniquePorts = Array.from(new Map(ports.map(p => [`${p.port}-${p.script || ''}`, p])).values());
57
67
  return uniquePorts;
58
68
  }
59
- exports.extractPortsFromProject = extractPortsFromProject;
60
69
  /**
61
70
  * Extract ports from package.json scripts
62
71
  */
@@ -15,15 +15,27 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
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
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.shouldRescanPorts = exports.scanAllProjectPorts = exports.scanProjectPorts = void 0;
36
+ exports.scanProjectPorts = scanProjectPorts;
37
+ exports.scanAllProjectPorts = scanAllProjectPorts;
38
+ exports.shouldRescanPorts = shouldRescanPorts;
27
39
  const core_bridge_1 = require("./core-bridge");
28
40
  const port_extractor_1 = require("./port-extractor");
29
41
  const fs = __importStar(require("fs"));
@@ -48,7 +60,6 @@ async function scanProjectPorts(projectId) {
48
60
  db.addProjectPort(projectId, portInfo.port, portInfo.source, portInfo.script);
49
61
  }
50
62
  }
51
- exports.scanProjectPorts = scanProjectPorts;
52
63
  /**
53
64
  * Scan ports for all projects
54
65
  */
@@ -65,7 +76,6 @@ async function scanAllProjectPorts() {
65
76
  }
66
77
  }
67
78
  }
68
- exports.scanAllProjectPorts = scanAllProjectPorts;
69
79
  /**
70
80
  * Check if ports need to be rescanned (stale check)
71
81
  * Returns true if ports haven't been scanned in the last 24 hours
@@ -78,7 +88,6 @@ function shouldRescanPorts(projectId) {
78
88
  }
79
89
  // Check if any port was detected 24 hours ago or older
80
90
  const twentyFourHoursAgo = Math.floor(Date.now() / 1000) - (24 * 60 * 60);
81
- const needsRescan = ports.some(port => (port.last_detected || 0) <= twentyFourHoursAgo);
91
+ const needsRescan = ports.some((port) => (port.last_detected || 0) <= twentyFourHoursAgo);
82
92
  return needsRescan;
83
93
  }
84
- exports.shouldRescanPorts = shouldRescanPorts;
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractPortFromError = exports.killProcessOnPort = exports.getProcessOnPort = exports.detectPortInUse = void 0;
3
+ exports.detectPortInUse = detectPortInUse;
4
+ exports.getProcessOnPort = getProcessOnPort;
5
+ exports.killProcessOnPort = killProcessOnPort;
6
+ exports.extractPortFromError = extractPortFromError;
4
7
  const child_process_1 = require("child_process");
5
8
  const util_1 = require("util");
6
9
  const execAsync = (0, util_1.promisify)(child_process_1.exec);
@@ -40,7 +43,6 @@ async function detectPortInUse(port) {
40
43
  return false;
41
44
  }
42
45
  }
43
- exports.detectPortInUse = detectPortInUse;
44
46
  /**
45
47
  * Get process information for a port (cross-platform)
46
48
  */
@@ -102,7 +104,6 @@ async function getProcessOnPort(port) {
102
104
  return null;
103
105
  }
104
106
  }
105
- exports.getProcessOnPort = getProcessOnPort;
106
107
  /**
107
108
  * Kill process(es) using a port (cross-platform)
108
109
  */
@@ -168,7 +169,6 @@ async function killProcessOnPort(port) {
168
169
  return false;
169
170
  }
170
171
  }
171
- exports.killProcessOnPort = killProcessOnPort;
172
172
  /**
173
173
  * Extract port number from error messages
174
174
  * Handles common port conflict error patterns
@@ -198,4 +198,3 @@ function extractPortFromError(error) {
198
198
  }
199
199
  return null;
200
200
  }
201
- exports.extractPortFromError = extractPortFromError;
@@ -46,7 +46,7 @@ export interface ElectronAPI {
46
46
  updateProject: (projectId: number, updates: {
47
47
  description?: string | null;
48
48
  }) => Promise<Project>;
49
- getProjectScripts: (projectPath: string, projectId?: number) => Promise<ProjectScripts>;
49
+ getProjectScripts: (projectPath: string) => Promise<ProjectScripts>;
50
50
  runScript: (projectPath: string, scriptName: string, args?: string[], background?: boolean) => Promise<{
51
51
  success: boolean;
52
52
  background: boolean;
@@ -68,9 +68,8 @@ export interface ElectronAPI {
68
68
  stopScript: (pid: number) => Promise<boolean>;
69
69
  stopProject: (projectPath: string) => Promise<number>;
70
70
  openUrl: (url: string) => Promise<void>;
71
- openInEditor: (projectPath: string, projectId?: number) => Promise<void>;
71
+ openInEditor: (projectPath: string) => Promise<void>;
72
72
  openInFiles: (projectPath: string) => Promise<void>;
73
- openFilePath: (filePath: string) => Promise<void>;
74
73
  getSettings: () => Promise<{
75
74
  editor: {
76
75
  type: string;
@@ -80,10 +79,6 @@ export interface ElectronAPI {
80
79
  type: string;
81
80
  customPath?: string;
82
81
  };
83
- display?: any;
84
- appearance?: any;
85
- behavior?: any;
86
- advanced?: any;
87
82
  }>;
88
83
  saveSettings: (settings: {
89
84
  editor: {
@@ -94,10 +89,6 @@ export interface ElectronAPI {
94
89
  type: string;
95
90
  customPath?: string;
96
91
  };
97
- display?: any;
98
- appearance?: any;
99
- behavior?: any;
100
- advanced?: any;
101
92
  }) => Promise<void>;
102
93
  openExternal: (url: string) => void;
103
94
  watchProcessOutput: (pid: number) => Promise<{
@@ -138,6 +129,4 @@ export interface ElectronAPI {
138
129
  showOpenDialog: (options: any) => Promise<any>;
139
130
  selectFile: (options: any) => Promise<string | null>;
140
131
  openWorkspace: (workspaceId: number) => Promise<void>;
141
- onMenuAction: (callback: (event: any, action: string, ...args: any[]) => void) => void;
142
- removeMenuActionListener: (callback: (event: any, action: string, ...args: any[]) => void) => void;
143
132
  }
@@ -14,7 +14,7 @@ electron_1.contextBridge.exposeInMainWorld('electronAPI', {
14
14
  closeWindow: () => electron_1.ipcRenderer.invoke('close-window'),
15
15
  renameProject: (projectId, newName) => electron_1.ipcRenderer.invoke('rename-project', projectId, newName),
16
16
  updateProject: (projectId, updates) => electron_1.ipcRenderer.invoke('update-project', projectId, updates),
17
- getProjectScripts: (projectPath, projectId) => electron_1.ipcRenderer.invoke('get-project-scripts', projectPath, projectId),
17
+ getProjectScripts: (projectPath) => electron_1.ipcRenderer.invoke('get-project-scripts', projectPath),
18
18
  runScript: (projectPath, scriptName, args, background) => electron_1.ipcRenderer.invoke('run-script', projectPath, scriptName, args, background),
19
19
  scanProjectPorts: (projectId) => electron_1.ipcRenderer.invoke('scan-project-ports', projectId),
20
20
  scanAllPorts: () => electron_1.ipcRenderer.invoke('scan-all-ports'),
@@ -23,9 +23,8 @@ electron_1.contextBridge.exposeInMainWorld('electronAPI', {
23
23
  stopScript: (pid) => electron_1.ipcRenderer.invoke('stop-script', pid),
24
24
  stopProject: (projectPath) => electron_1.ipcRenderer.invoke('stop-project', projectPath),
25
25
  openUrl: (url) => electron_1.ipcRenderer.invoke('open-url', url),
26
- openInEditor: (projectPath, projectId) => electron_1.ipcRenderer.invoke('open-in-editor', projectPath, projectId),
26
+ openInEditor: (projectPath) => electron_1.ipcRenderer.invoke('open-in-editor', projectPath),
27
27
  openInFiles: (projectPath) => electron_1.ipcRenderer.invoke('open-in-files', projectPath),
28
- openFilePath: (filePath) => electron_1.ipcRenderer.invoke('open-file-path', filePath),
29
28
  openExternal: (url) => electron_1.ipcRenderer.send('open-external-url', url),
30
29
  getSettings: () => electron_1.ipcRenderer.invoke('get-settings'),
31
30
  saveSettings: (settings) => electron_1.ipcRenderer.invoke('save-settings', settings),
@@ -46,10 +45,4 @@ electron_1.contextBridge.exposeInMainWorld('electronAPI', {
46
45
  showOpenDialog: (options) => electron_1.ipcRenderer.invoke('show-open-dialog', options),
47
46
  selectFile: (options) => electron_1.ipcRenderer.invoke('select-file', options),
48
47
  openWorkspace: (workspaceId) => electron_1.ipcRenderer.invoke('open-workspace', workspaceId),
49
- onMenuAction: (callback) => {
50
- electron_1.ipcRenderer.on('menu-action', callback);
51
- },
52
- removeMenuActionListener: (callback) => {
53
- electron_1.ipcRenderer.removeListener('menu-action', callback);
54
- },
55
48
  });