projax 3.3.33 → 3.3.35

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.
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self' http://localhost:* ws://localhost:*;" />
7
7
  <title>projax</title>
8
- <script type="module" crossorigin src="./assets/index-CGx7K7jh.js"></script>
8
+ <script type="module" crossorigin src="./assets/index-CQcilqlv.js"></script>
9
9
  <link rel="stylesheet" crossorigin href="./assets/index-C_WSLD6y.css">
10
10
  </head>
11
11
  <body>
@@ -920,6 +920,27 @@ function runScriptInBackground(projectPath, projectName, scriptName, args = [],
920
920
  // Ignore errors
921
921
  }
922
922
  }, 5000);
923
+ // Check for test results periodically (for watch mode tests)
924
+ // Parse results every 10 seconds for the first 60 seconds, then every 30 seconds
925
+ let parseAttempt = 0;
926
+ const parseInterval = setInterval(async () => {
927
+ parseAttempt++;
928
+ // Stop parsing after 10 minutes or if process is dead
929
+ if (parseAttempt > 20 || !child.pid) {
930
+ clearInterval(parseInterval);
931
+ return;
932
+ }
933
+ await checkAndParseTestResults(logFile, projectPath, scriptName);
934
+ // After first minute, slow down to every 30 seconds
935
+ if (parseAttempt >= 6) {
936
+ clearInterval(parseInterval);
937
+ const slowInterval = setInterval(async () => {
938
+ await checkAndParseTestResults(logFile, projectPath, scriptName);
939
+ }, 30000);
940
+ // Stop after 10 minutes total
941
+ setTimeout(() => clearInterval(slowInterval), 540000);
942
+ }
943
+ }, 10000); // Initial interval: every 10 seconds
923
944
  // Resolve with PID since process is running in background
924
945
  resolve(child.pid);
925
946
  });
@@ -920,6 +920,27 @@ function runScriptInBackground(projectPath, projectName, scriptName, args = [],
920
920
  // Ignore errors
921
921
  }
922
922
  }, 5000);
923
+ // Check for test results periodically (for watch mode tests)
924
+ // Parse results every 10 seconds for the first 60 seconds, then every 30 seconds
925
+ let parseAttempt = 0;
926
+ const parseInterval = setInterval(async () => {
927
+ parseAttempt++;
928
+ // Stop parsing after 10 minutes or if process is dead
929
+ if (parseAttempt > 20 || !child.pid) {
930
+ clearInterval(parseInterval);
931
+ return;
932
+ }
933
+ await checkAndParseTestResults(logFile, projectPath, scriptName);
934
+ // After first minute, slow down to every 30 seconds
935
+ if (parseAttempt >= 6) {
936
+ clearInterval(parseInterval);
937
+ const slowInterval = setInterval(async () => {
938
+ await checkAndParseTestResults(logFile, projectPath, scriptName);
939
+ }, 30000);
940
+ // Stop after 10 minutes total
941
+ setTimeout(() => clearInterval(slowInterval), 540000);
942
+ }
943
+ }, 10000); // Initial interval: every 10 seconds
923
944
  // Resolve with PID since process is running in background
924
945
  resolve(child.pid);
925
946
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "projax",
3
- "version": "3.3.33",
3
+ "version": "3.3.35",
4
4
  "description": "Cross-platform project management dashboard for tracking local development projects. Features CLI, Terminal UI, Desktop app, REST API, and built-in tools for test detection, port management, and script execution.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {