project-compass 3.5.2 → 3.5.3

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "project-compass",
3
- "version": "3.5.2",
3
+ "version": "3.5.3",
4
4
  "description": "Futuristic project navigator and runner for Node, Python, Rust, and Go",
5
5
  "main": "src/cli.js",
6
6
  "bin": {
Binary file
package/src/cli.js CHANGED
@@ -377,6 +377,13 @@ function Compass({rootPath, initialView = 'navigator'}) {
377
377
  });
378
378
  return;
379
379
  }
380
+
381
+ if (key.escape) {
382
+ if (mainView !== 'navigator') {
383
+ setMainView('navigator');
384
+ return;
385
+ }
386
+ }
380
387
 
381
388
  const scrollLogs = (delta) => {
382
389
  setLogOffset((prev) => {
@@ -541,10 +548,10 @@ function Compass({rootPath, initialView = 'navigator'}) {
541
548
  return create(Box, {flexDirection: 'column', borderStyle: 'round', borderColor: 'red', padding: 1}, create(Text, {bold: true, color: 'red'}, '⚠️ Confirm Exit'), create(Text, null, `There are ${tasks.filter(t=>t.status==='running').length} tasks still running in the background.`), create(Text, null, 'Are you sure you want to quit and stop all processes?'), create(Text, {marginTop: 1}, kleur.bold('Y') + ' to Quit, ' + kleur.bold('N') + ' to Cancel'));
542
549
  }
543
550
 
544
- if (mainView === 'studio') return create(Studio);
545
- if (mainView === 'tasks') return create(TaskManager, {tasks, activeTaskId, renameMode, renameInput, renameCursor, CursorText});
546
- if (mainView === 'registry') return create(PackageRegistry, {selectedProject, onRunCommand: runProjectCommand, CursorText});
547
- if (mainView === 'architect') return create(ProjectArchitect, {rootPath, onRunCommand: runProjectCommand, CursorText, onReturn: () => setMainView('navigator')});
551
+ if (mainView === 'studio') return create(Box, {flexDirection: 'column', width: '100%'}, create(Studio));
552
+ if (mainView === 'tasks') return create(Box, {flexDirection: 'column', width: '100%'}, create(TaskManager, {tasks, activeTaskId, renameMode, renameInput, renameCursor, CursorText}));
553
+ if (mainView === 'registry') return create(Box, {flexDirection: 'column', width: '100%'}, create(PackageRegistry, {selectedProject, onRunCommand: runProjectCommand, CursorText}));
554
+ if (mainView === 'architect') return create(Box, {flexDirection: 'column', width: '100%'}, create(ProjectArchitect, {rootPath, onRunCommand: runProjectCommand, CursorText, onReturn: () => setMainView('navigator')}));
548
555
 
549
556
  return create(Box, {flexDirection: 'column', padding: 1},
550
557
  create(Box, {justifyContent: 'space-between'},
@@ -63,9 +63,19 @@ const PackageRegistry = memo(({selectedProject, onRunCommand, CursorText}) => {
63
63
  return null;
64
64
  };
65
65
 
66
+ if (!selectedProject) {
67
+ return create(
68
+ Box,
69
+ {flexDirection: 'column', borderStyle: 'round', borderColor: 'red', padding: 1, width: '100%'},
70
+ create(Text, {bold: true, color: 'red'}, '📦 Package Registry | No Project Selected'),
71
+ create(Text, {marginTop: 1}, 'Please select a project in the Navigator first before opening the Registry.'),
72
+ create(Text, {dimColor: true, marginTop: 1}, 'Press Shift+P to return to Navigator.')
73
+ );
74
+ }
75
+
66
76
  return create(
67
77
  Box,
68
- {flexDirection: 'column', borderStyle: 'round', borderColor: 'magenta', padding: 1},
78
+ {flexDirection: 'column', borderStyle: 'round', borderColor: 'magenta', padding: 1, width: '100%'},
69
79
  create(
70
80
  Box,
71
81
  {justifyContent: 'space-between'},
Binary file
Binary file
Binary file