portkeeper 1.1.0 → 1.1.1

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/README.md CHANGED
@@ -28,8 +28,12 @@ A comprehensive port management tool for developers that helps reserve, monitor,
28
28
 
29
29
  ### Via npm
30
30
  ```bash
31
+ # CLI only (lightweight)
31
32
  npm install -g portkeeper
32
33
 
34
+ # CLI + GUI (includes Electron)
35
+ npm install -g portkeeper --include=optional
36
+
33
37
  # Verify installation
34
38
  portman --version
35
39
  ```
@@ -45,20 +49,17 @@ npm link
45
49
  ```
46
50
 
47
51
  ### GUI Application
48
- The GUI can be installed and launched seamlessly from the CLI:
52
+ The GUI is included with Port Keeper:
49
53
 
50
54
  ```bash
51
- # Install and launch the GUI
52
- portman gui --install
53
-
54
- # Or install separately
55
- portman gui install
56
-
57
- # Then launch anytime with
55
+ # Launch the GUI (requires --include=optional during install)
58
56
  portman gui
57
+
58
+ # If GUI not found, install with:
59
+ npm install -g portkeeper --include=optional
59
60
  ```
60
61
 
61
- The GUI will be automatically downloaded and installed to your home directory.
62
+ Note: The GUI requires Electron (~100MB). Install with `--include=optional` to get GUI support.
62
63
 
63
64
  ## Quick Start
64
65
 
@@ -95,9 +96,6 @@ portman export team-ports.json
95
96
  ```bash
96
97
  # Launch the GUI application
97
98
  portman gui
98
-
99
- # First time? Install with:
100
- portman gui --install
101
99
  ```
102
100
 
103
101
  In the GUI:
@@ -1 +1 @@
1
- {"version":3,"file":"gui.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/gui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4KpC,eAAO,MAAM,UAAU,SAmCnB,CAAC"}
1
+ {"version":3,"file":"gui.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/gui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0DpC,eAAO,MAAM,UAAU,SA4DnB,CAAC"}
@@ -3,178 +3,101 @@ import chalk from 'chalk';
3
3
  import { spawn } from 'child_process';
4
4
  import { existsSync } from 'fs';
5
5
  import { join, dirname } from 'path';
6
- import { homedir } from 'os';
7
- import { mkdir } from 'fs/promises';
8
- import { createWriteStream } from 'fs';
9
- import { get } from 'https';
10
- import { promisify } from 'util';
11
- import { exec as execCallback } from 'child_process';
12
- import { chmod } from 'fs/promises';
13
6
  import { fileURLToPath } from 'url';
7
+ import { homedir } from 'os';
14
8
  const __filename = fileURLToPath(import.meta.url);
15
9
  const __dirname = dirname(__filename);
16
- const exec = promisify(execCallback);
17
- const getGuiPath = () => {
18
- const platform = process.platform;
19
- const guiDir = join(homedir(), '.portkeeper', 'gui');
20
- if (platform === 'darwin') {
21
- return join(guiDir, 'Port Keeper.app', 'Contents', 'MacOS', 'Port Keeper');
22
- }
23
- else if (platform === 'win32') {
24
- return join(guiDir, 'Port Keeper.exe');
25
- }
26
- else {
27
- return join(guiDir, 'port-keeper.AppImage');
28
- }
29
- };
30
- const getDownloadUrl = () => {
31
- const platform = process.platform;
32
- const arch = process.arch;
33
- const baseUrl = 'https://github.com/ahmadzein/portkeeper/releases/latest/download/';
34
- if (platform === 'darwin') {
35
- return arch === 'arm64'
36
- ? baseUrl + 'Port-Keeper-mac-arm64.dmg'
37
- : baseUrl + 'Port-Keeper-mac-x64.dmg';
38
- }
39
- else if (platform === 'win32') {
40
- return baseUrl + 'Port-Keeper-Setup.exe';
41
- }
42
- else {
43
- return baseUrl + 'Port-Keeper-linux-x86_64.AppImage';
44
- }
45
- };
46
- const downloadFile = (url, dest) => {
47
- return new Promise((resolve, reject) => {
48
- const file = createWriteStream(dest);
49
- get(url, (response) => {
50
- if (response.statusCode === 302 || response.statusCode === 301) {
51
- downloadFile(response.headers.location, dest).then(resolve).catch(reject);
52
- return;
53
- }
54
- if (response.statusCode !== 200) {
55
- reject(new Error(`Failed to download: ${response.statusCode}`));
56
- return;
57
- }
58
- const totalSize = parseInt(response.headers['content-length'] || '0', 10);
59
- let downloadedSize = 0;
60
- response.on('data', (chunk) => {
61
- downloadedSize += chunk.length;
62
- const percent = Math.round((downloadedSize / totalSize) * 100);
63
- process.stdout.write(`\rDownloading... ${percent}%`);
64
- });
65
- response.pipe(file);
66
- file.on('finish', () => {
67
- file.close();
68
- console.log('\n');
69
- resolve();
70
- });
71
- }).on('error', reject);
72
- });
73
- };
74
- const installGui = async () => {
75
- const guiDir = join(homedir(), '.portkeeper', 'gui');
76
- await mkdir(guiDir, { recursive: true });
77
- console.log(chalk.blue('🚀 Installing Port Keeper GUI...\n'));
78
- const downloadUrl = getDownloadUrl();
79
- const platform = process.platform;
80
- if (platform === 'darwin') {
81
- const dmgPath = join(guiDir, 'Port-Keeper.dmg');
82
- console.log(chalk.gray('Downloading macOS app...'));
83
- await downloadFile(downloadUrl, dmgPath);
84
- console.log(chalk.gray('Mounting DMG...'));
85
- await exec(`hdiutil attach "${dmgPath}" -nobrowse -quiet`);
86
- console.log(chalk.gray('Copying app...'));
87
- await exec(`cp -R "/Volumes/Port Keeper/Port Keeper.app" "${guiDir}/"`);
88
- console.log(chalk.gray('Unmounting DMG...'));
89
- await exec('hdiutil detach "/Volumes/Port Keeper" -quiet');
90
- console.log(chalk.gray('Cleaning up...'));
91
- await exec(`rm "${dmgPath}"`);
92
- }
93
- else if (platform === 'win32') {
94
- const exePath = join(guiDir, 'Port Keeper.exe');
95
- console.log(chalk.gray('Downloading Windows app...'));
96
- await downloadFile(downloadUrl, exePath);
97
- }
98
- else {
99
- const appImagePath = join(guiDir, 'port-keeper.AppImage');
100
- console.log(chalk.gray('Downloading Linux AppImage...'));
101
- await downloadFile(downloadUrl, appImagePath);
102
- await chmod(appImagePath, 0o755);
10
+ const findElectronExecutable = () => {
11
+ const possiblePaths = [
12
+ join(__dirname, '..', '..', '..', 'node_modules', 'electron', 'dist', 'Electron.app', 'Contents', 'MacOS', 'Electron'),
13
+ join(__dirname, '..', '..', '..', 'node_modules', 'electron', 'dist', 'electron.exe'),
14
+ join(__dirname, '..', '..', '..', 'node_modules', 'electron', 'dist', 'electron'),
15
+ join(__dirname, '..', '..', '..', '..', 'node_modules', 'electron', 'dist', 'Electron.app', 'Contents', 'MacOS', 'Electron'),
16
+ join(__dirname, '..', '..', '..', '..', 'node_modules', 'electron', 'dist', 'electron.exe'),
17
+ join(__dirname, '..', '..', '..', '..', 'node_modules', 'electron', 'dist', 'electron'),
18
+ join(homedir(), '.npm-global', 'lib', 'node_modules', 'electron', 'dist', 'Electron.app', 'Contents', 'MacOS', 'Electron'),
19
+ join(homedir(), '.npm-global', 'lib', 'node_modules', 'electron', 'dist', 'electron.exe'),
20
+ join(homedir(), '.npm-global', 'lib', 'node_modules', 'electron', 'dist', 'electron'),
21
+ ];
22
+ for (const path of possiblePaths) {
23
+ if (existsSync(path)) {
24
+ return path;
25
+ }
103
26
  }
104
- console.log(chalk.green('\n✅ GUI installed successfully!\n'));
105
- };
106
- const launchGui = () => {
107
- const guiPath = getGuiPath();
108
- console.log(chalk.blue('🚀 Launching Port Keeper GUI...\n'));
109
- const child = spawn(guiPath, [], {
110
- detached: true,
111
- stdio: 'ignore'
112
- });
113
- child.unref();
114
- console.log(chalk.green('✅ GUI launched!'));
115
- console.log(chalk.gray('\nThe Port Keeper GUI is now running.'));
116
- console.log(chalk.gray('You can close this terminal window.\n'));
27
+ return null;
117
28
  };
118
- const tryLaunchBundledGui = () => {
119
- try {
120
- const packageRoot = join(__dirname, '..', '..', '..');
121
- const electronPath = join(packageRoot, 'node_modules', '.bin', 'electron');
122
- const mainPath = join(packageRoot, 'dist', 'gui', 'main', 'index.js');
123
- if (existsSync(electronPath) && existsSync(mainPath)) {
124
- console.log(chalk.blue('🚀 Launching Port Keeper GUI...\n'));
125
- const child = spawn(electronPath, [mainPath], {
126
- detached: true,
127
- stdio: 'ignore',
128
- env: { ...process.env, ELECTRON_IS_DEV: '0' }
129
- });
130
- child.unref();
131
- console.log(chalk.green('✅ GUI launched!'));
132
- console.log(chalk.gray('\nThe Port Keeper GUI is now running.'));
133
- console.log(chalk.gray('You can close this terminal window.\n'));
134
- return true;
29
+ const findGuiEntry = () => {
30
+ const possiblePaths = [
31
+ join(__dirname, '..', '..', 'electron', 'main', 'index.js'),
32
+ join(__dirname, '..', '..', 'gui', 'main', 'index.js'),
33
+ join(__dirname, '..', '..', '..', 'dist', 'electron', 'main', 'index.js'),
34
+ join(__dirname, '..', '..', '..', 'dist', 'gui', 'main', 'index.js'),
35
+ ];
36
+ for (const path of possiblePaths) {
37
+ if (existsSync(path)) {
38
+ return path;
135
39
  }
136
40
  }
137
- catch (error) {
138
- }
139
- return false;
41
+ return null;
140
42
  };
141
43
  export const guiCommand = new Command('gui')
142
44
  .description('Launch the Port Keeper GUI application')
143
- .option('--install', 'Install the GUI if not already installed')
144
- .option('--reinstall', 'Force reinstall the GUI')
145
- .action(async (options) => {
45
+ .option('--dev', 'Run in development mode')
46
+ .action((options) => {
146
47
  try {
147
- if (!options.reinstall && tryLaunchBundledGui()) {
48
+ const electronPath = findElectronExecutable();
49
+ const guiEntry = findGuiEntry();
50
+ if (!electronPath || !guiEntry) {
51
+ console.log(chalk.yellow('\n⚠️ GUI components not found.\n'));
52
+ if (!electronPath) {
53
+ console.log(chalk.red('Electron is not installed.'));
54
+ }
55
+ if (!guiEntry) {
56
+ console.log(chalk.red('GUI files are missing.'));
57
+ }
58
+ console.log(chalk.cyan('\nTo use the GUI, you have two options:\n'));
59
+ console.log(chalk.white('Option 1: Install from source'));
60
+ console.log(chalk.gray(' git clone https://github.com/ahmadzein/portkeeper.git'));
61
+ console.log(chalk.gray(' cd portkeeper'));
62
+ console.log(chalk.gray(' npm install'));
63
+ console.log(chalk.gray(' npm run dev:gui\n'));
64
+ console.log(chalk.white('Option 2: Reinstall portkeeper with optional dependencies'));
65
+ console.log(chalk.gray(' npm uninstall -g portkeeper'));
66
+ console.log(chalk.gray(' npm install -g portkeeper --include=optional\n'));
67
+ console.log(chalk.yellow('Note: The GUI requires Electron which is a large dependency (~100MB).'));
68
+ console.log(chalk.yellow('It is marked as optional to keep the CLI lightweight.\n'));
148
69
  return;
149
70
  }
150
- const guiPath = getGuiPath();
151
- const isInstalled = existsSync(guiPath);
152
- if (options.reinstall || (options.install && !isInstalled)) {
153
- await installGui();
154
- }
155
- if (!existsSync(guiPath)) {
156
- console.log(chalk.yellow('\n⚠️ Port Keeper GUI is not installed.\n'));
157
- console.log(chalk.cyan('Run one of these commands to install it:\n'));
158
- console.log(chalk.white(' portman gui --install # Install and launch'));
159
- console.log(chalk.white(' portman gui install # Just install\n'));
160
- console.log(chalk.gray('The GUI will be downloaded and installed to:'));
161
- console.log(chalk.gray(` ${join(homedir(), '.portkeeper', 'gui')}\n`));
162
- return;
71
+ console.log(chalk.blue('🚀 Launching Port Keeper GUI...\n'));
72
+ const env = { ...process.env };
73
+ if (options.dev) {
74
+ env.ELECTRON_IS_DEV = '1';
163
75
  }
164
- launchGui();
76
+ const child = spawn(electronPath, [guiEntry], {
77
+ detached: true,
78
+ stdio: 'ignore',
79
+ env
80
+ });
81
+ child.unref();
82
+ console.log(chalk.green('✅ GUI launched!'));
83
+ console.log(chalk.gray('\nThe Port Keeper GUI is now running.'));
84
+ console.log(chalk.gray('You can close this terminal window.\n'));
165
85
  }
166
86
  catch (error) {
167
- console.error(chalk.red('\n❌ Error:'), error instanceof Error ? error.message : String(error));
168
- console.error(chalk.gray('\nTry running with --reinstall to fix installation issues.'));
87
+ console.error(chalk.red('\n❌ Error launching GUI:'), error instanceof Error ? error.message : String(error));
88
+ console.error(chalk.gray('\nPlease try reinstalling with: npm install -g portkeeper --include=optional'));
169
89
  }
170
90
  });
171
91
  guiCommand
172
92
  .command('install')
173
- .description('Install the Port Keeper GUI')
93
+ .description('Install GUI dependencies (Electron)')
174
94
  .action(async () => {
175
95
  try {
176
- await installGui();
177
- console.log(chalk.cyan('\nRun "portman gui" to launch the application.\n'));
96
+ console.log(chalk.blue('📦 Installing GUI dependencies...\n'));
97
+ console.log(chalk.yellow('This will install Electron (~100MB) as an optional dependency.\n'));
98
+ console.log(chalk.cyan('Please run:'));
99
+ console.log(chalk.white(' npm install -g portkeeper --include=optional\n'));
100
+ console.log(chalk.gray('This ensures Electron is properly installed for the GUI.'));
178
101
  }
179
102
  catch (error) {
180
103
  console.error(chalk.red('\n❌ Installation failed:'), error instanceof Error ? error.message : String(error));
@@ -1 +1 @@
1
- {"version":3,"file":"gui.js","sourceRoot":"","sources":["../../../src/cli/commands/gui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gui.js","sourceRoot":"","sources":["../../../src/cli/commands/gui.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -15,8 +15,8 @@ import { aiCommand } from './commands/ai.js';
15
15
  const program = new Command();
16
16
  program
17
17
  .name('portman')
18
- .description('Port Manager - Manage your local development ports')
19
- .version('1.0.0');
18
+ .description('Port Keeper - Manage your local development ports')
19
+ .version('1.1.1');
20
20
  program.addCommand(checkCommand);
21
21
  program.addCommand(reserveCommand);
22
22
  program.addCommand(listCommand);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,oDAAoD,CAAC;KACjE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC/B,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAE9B,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;IAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IACzB,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,mDAAmD,CAAC;KAChE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC/B,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAE9B,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;IAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IACzB,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "portkeeper",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "A comprehensive port management tool for developers with CLI and GUI interfaces",
5
5
  "main": "dist/cli/index.js",
6
6
  "type": "module",