projax 1.3.13 → 1.3.15

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,6 +1,6 @@
1
1
  {
2
2
  "name": "projax-api",
3
- "version": "1.3.13",
3
+ "version": "1.3.15",
4
4
  "description": "REST API server for projax project dashboard (internal use)",
5
5
  "private": true,
6
6
  "main": "dist/index.js",
package/dist/index.js CHANGED
@@ -211,28 +211,34 @@ program
211
211
  .action(async () => {
212
212
  try {
213
213
  await ensureAPIServerRunning(true);
214
- // Find the prxi source file - check both locations
215
- const prxiSourceNew = path.join(__dirname, '..', '..', 'prxi', 'src', 'index.tsx');
216
- const prxiSourceOld = path.join(__dirname, '..', 'src', 'prxi.tsx');
217
- const prxiSource = fs.existsSync(prxiSourceNew) ? prxiSourceNew : prxiSourceOld;
218
- // Find tsx binary
219
- const tsxBinRoot = path.join(__dirname, '..', '..', '..', 'node_modules', '.bin', 'tsx');
220
- const tsxBinCli = path.join(__dirname, '..', 'node_modules', '.bin', 'tsx');
221
- const tsxBin = fs.existsSync(tsxBinRoot) ? tsxBinRoot : tsxBinCli;
222
- if (!fs.existsSync(prxiSource)) {
223
- console.error('Error: prxi UI source not found.');
224
- console.error(`Looked for: ${prxiSourceNew} and ${prxiSourceOld}`);
214
+ // Find the prxi source file - check multiple locations
215
+ const prxiPaths = [
216
+ path.join(__dirname, 'prxi', 'src', 'index.tsx'), // When running from built/published CLI
217
+ path.join(__dirname, '..', '..', 'prxi', 'src', 'index.tsx'), // When running from workspace
218
+ path.join(__dirname, '..', 'src', 'prxi.tsx'), // Legacy location
219
+ ];
220
+ const prxiPath = prxiPaths.find(p => fs.existsSync(p));
221
+ if (!prxiPath) {
222
+ console.error('Error: prxi UI not found.');
223
+ console.error('Looked in:', prxiPaths);
225
224
  process.exit(1);
226
225
  }
227
- if (!fs.existsSync(tsxBin)) {
226
+ // Find tsx binary - it should be in CLI's node_modules since tsx is a dependency
227
+ const tsxPaths = [
228
+ path.join(__dirname, '..', 'node_modules', '.bin', 'tsx'), // When running from built CLI
229
+ path.join(__dirname, '..', '..', '..', 'node_modules', '.bin', 'tsx'), // When running from workspace root
230
+ 'tsx', // Fallback to PATH
231
+ ];
232
+ let tsxBin = tsxPaths.find(p => p === 'tsx' || fs.existsSync(p));
233
+ if (!tsxBin) {
228
234
  console.error('Error: tsx not found. Please install dependencies: npm install');
229
235
  process.exit(1);
230
236
  }
231
- // Run prxi using tsx
237
+ // Run prxi source using tsx
232
238
  const { spawn } = require('child_process');
233
- const child = spawn(tsxBin, [prxiSource], {
239
+ const child = spawn(tsxBin, [prxiPath], {
234
240
  stdio: 'inherit',
235
- cwd: path.dirname(prxiSource),
241
+ cwd: path.dirname(prxiPath),
236
242
  });
237
243
  child.on('exit', (code) => {
238
244
  process.exit(code || 0);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "projax",
3
- "version": "1.3.13",
3
+ "version": "1.3.15",
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": {
@@ -12,7 +12,8 @@
12
12
  "copy:electron": "mkdir -p dist/electron && cp -r ../desktop/dist/* dist/electron/ && cp dist/script-runner.* dist/electron/ && cp dist/port-*.* dist/electron/ && cp -R dist/core dist/electron/",
13
13
  "copy:api": "mkdir -p dist/api && cp -r ../api/dist/* dist/api/ && cp ../api/package.json dist/api/",
14
14
  "copy:core": "mkdir -p dist/core && cp -r ../core/dist/* dist/core/",
15
- "build:all": "npm run build && npm run copy:core && npm run build:electron && npm run copy:electron && npm run copy:api",
15
+ "copy:prxi": "mkdir -p dist/prxi && cp -r ../prxi/src dist/prxi/",
16
+ "build:all": "npm run build && npm run copy:core && npm run build:electron && npm run copy:electron && npm run copy:api && npm run copy:prxi",
16
17
  "clean": "rm -rf dist",
17
18
  "prepublishOnly": "npm run build:all"
18
19
  },
@@ -23,7 +24,9 @@
23
24
  "express": "^4.18.2",
24
25
  "ink": "^4.4.1",
25
26
  "inquirer": "^9.2.12",
26
- "react": "^18.2.0"
27
+ "react": "^18.2.0",
28
+ "react-devtools-core": "^4.28.0",
29
+ "tsx": "^4.20.6"
27
30
  },
28
31
  "devDependencies": {
29
32
  "@types/inquirer": "^9.0.7",