@jetstart/cli 1.5.3 → 1.6.0

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/dist/cli.js CHANGED
@@ -40,6 +40,7 @@ program
40
40
  .option('-H, --host <host>', 'Host address (defaults to auto-detected network IP)')
41
41
  .option('--no-qr', 'Do not show QR code')
42
42
  .option('--no-open', 'Do not open browser')
43
+ .option('--web', 'Open Web Emulator automatically')
43
44
  .option('--emulator', 'Deploy to running Android emulator')
44
45
  .option('--avd <name>', 'Target specific emulator by name')
45
46
  .action(dev_1.devCommand);
@@ -50,6 +50,7 @@ const logger_1 = require("../utils/logger");
50
50
  const core_1 = require("@jetstart/core");
51
51
  const shared_1 = require("@jetstart/shared");
52
52
  const emulator_deployer_1 = require("../utils/emulator-deployer");
53
+ const open_1 = require("../utils/open");
53
54
  async function devCommand(options) {
54
55
  try {
55
56
  const port = parseInt(options.port || String(shared_1.DEFAULT_CORE_PORT));
@@ -158,6 +159,11 @@ async function devCommand(options) {
158
159
  (0, logger_1.info)(`Session: ${chalk_1.default.dim(session.id)}`);
159
160
  (0, logger_1.info)(`Token: ${chalk_1.default.dim(session.token)}`);
160
161
  }
162
+ // Auto-open browser for Web Emulator if requested
163
+ if (options.web) {
164
+ (0, logger_1.info)('Opening Web Emulator...');
165
+ (0, open_1.openBrowser)(localUrl);
166
+ }
161
167
  (0, logger_1.info)('Watching for file changes...');
162
168
  (0, logger_1.info)('Press Ctrl+C to stop');
163
169
  console.log();
@@ -31,6 +31,7 @@ export interface DevOptions {
31
31
  host?: string;
32
32
  qr?: boolean;
33
33
  open?: boolean;
34
+ web?: boolean;
34
35
  emulator?: boolean;
35
36
  avd?: string;
36
37
  }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Open Browser Utility
3
+ * Opens the default browser to a specific URL
4
+ */
5
+ export declare function openBrowser(url: string): void;
6
+ //# sourceMappingURL=open.d.ts.map
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ /**
3
+ * Open Browser Utility
4
+ * Opens the default browser to a specific URL
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.openBrowser = openBrowser;
8
+ const child_process_1 = require("child_process");
9
+ const os_1 = require("os");
10
+ function openBrowser(url) {
11
+ let command = '';
12
+ switch ((0, os_1.platform)()) {
13
+ case 'win32':
14
+ command = `start "" "${url}"`;
15
+ break;
16
+ case 'darwin':
17
+ command = `open "${url}"`;
18
+ break;
19
+ case 'linux':
20
+ command = `xdg-open "${url}"`;
21
+ break;
22
+ default:
23
+ console.warn('Cannot open browser: unsupported platform');
24
+ return;
25
+ }
26
+ try {
27
+ (0, child_process_1.exec)(command, (error) => {
28
+ if (error) {
29
+ console.warn(`Failed to open browser: ${error.message}`);
30
+ }
31
+ });
32
+ }
33
+ catch (err) {
34
+ // Ignore errors, this is a convenience feature
35
+ }
36
+ }
37
+ //# sourceMappingURL=open.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jetstart/cli",
3
- "version": "1.5.3",
3
+ "version": "1.6.0",
4
4
  "description": "Command-line interface for JetStart",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -36,8 +36,8 @@
36
36
  },
37
37
  "homepage": "https://github.com/dev-phantom/jetstart#readme",
38
38
  "dependencies": {
39
- "@jetstart/core": "^1.5.3",
40
- "@jetstart/shared": "^1.5.3",
39
+ "@jetstart/core": "^1.6.0",
40
+ "@jetstart/shared": "^1.6.0",
41
41
  "axios": "^1.6.2",
42
42
  "chalk": "^4.1.2",
43
43
  "commander": "^11.1.0",
package/src/cli.ts CHANGED
@@ -40,6 +40,7 @@ program
40
40
  .option('-H, --host <host>', 'Host address (defaults to auto-detected network IP)')
41
41
  .option('--no-qr', 'Do not show QR code')
42
42
  .option('--no-open', 'Do not open browser')
43
+ .option('--web', 'Open Web Emulator automatically')
43
44
  .option('--emulator', 'Deploy to running Android emulator')
44
45
  .option('--avd <name>', 'Target specific emulator by name')
45
46
  .action(devCommand);
@@ -13,6 +13,7 @@ import { JetStartServer } from '@jetstart/core';
13
13
  import { DEFAULT_CORE_PORT, DEFAULT_WS_PORT } from '@jetstart/shared';
14
14
  import { DevOptions } from '../types';
15
15
  import { EmulatorDeployer } from '../utils/emulator-deployer';
16
+ import { openBrowser } from '../utils/open';
16
17
 
17
18
  export async function devCommand(options: DevOptions) {
18
19
  try {
@@ -131,6 +132,12 @@ export async function devCommand(options: DevOptions) {
131
132
  info(`Token: ${chalk.dim(session.token)}`);
132
133
  }
133
134
 
135
+ // Auto-open browser for Web Emulator if requested
136
+ if (options.web) {
137
+ info('Opening Web Emulator...');
138
+ openBrowser(localUrl);
139
+ }
140
+
134
141
  info('Watching for file changes...');
135
142
  info('Press Ctrl+C to stop');
136
143
  console.log();
@@ -40,6 +40,7 @@ export interface DevOptions {
40
40
  host?: string;
41
41
  qr?: boolean;
42
42
  open?: boolean;
43
+ web?: boolean;
43
44
  emulator?: boolean;
44
45
  avd?: string;
45
46
  }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Open Browser Utility
3
+ * Opens the default browser to a specific URL
4
+ */
5
+
6
+ import { exec } from 'child_process';
7
+ import { platform } from 'os';
8
+
9
+ export function openBrowser(url: string): void {
10
+ let command = '';
11
+
12
+ switch (platform()) {
13
+ case 'win32':
14
+ command = `start "" "${url}"`;
15
+ break;
16
+ case 'darwin':
17
+ command = `open "${url}"`;
18
+ break;
19
+ case 'linux':
20
+ command = `xdg-open "${url}"`;
21
+ break;
22
+ default:
23
+ console.warn('Cannot open browser: unsupported platform');
24
+ return;
25
+ }
26
+
27
+ try {
28
+ exec(command, (error) => {
29
+ if (error) {
30
+ console.warn(`Failed to open browser: ${error.message}`);
31
+ }
32
+ });
33
+ } catch (err) {
34
+ // Ignore errors, this is a convenience feature
35
+ }
36
+ }