@jetstart/cli 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.
Files changed (72) hide show
  1. package/.eslintrc.json +6 -0
  2. package/README.md +92 -0
  3. package/bin/jetstart.js +3 -0
  4. package/dist/cli.d.ts +7 -0
  5. package/dist/cli.d.ts.map +1 -0
  6. package/dist/cli.js +74 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/commands/build.d.ts +12 -0
  9. package/dist/commands/build.d.ts.map +1 -0
  10. package/dist/commands/build.js +53 -0
  11. package/dist/commands/build.js.map +1 -0
  12. package/dist/commands/create.d.ts +12 -0
  13. package/dist/commands/create.d.ts.map +1 -0
  14. package/dist/commands/create.js +95 -0
  15. package/dist/commands/create.js.map +1 -0
  16. package/dist/commands/dev.d.ts +13 -0
  17. package/dist/commands/dev.d.ts.map +1 -0
  18. package/dist/commands/dev.js +152 -0
  19. package/dist/commands/dev.js.map +1 -0
  20. package/dist/commands/index.d.ts +8 -0
  21. package/dist/commands/index.d.ts.map +1 -0
  22. package/dist/commands/index.js +15 -0
  23. package/dist/commands/index.js.map +1 -0
  24. package/dist/commands/logs.d.ts +13 -0
  25. package/dist/commands/logs.d.ts.map +1 -0
  26. package/dist/commands/logs.js +103 -0
  27. package/dist/commands/logs.js.map +1 -0
  28. package/dist/index.d.ts +8 -0
  29. package/dist/index.d.ts.map +1 -0
  30. package/dist/index.js +23 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/types/index.d.ts +20 -0
  33. package/dist/types/index.d.ts.map +1 -0
  34. package/dist/types/index.js +6 -0
  35. package/dist/types/index.js.map +1 -0
  36. package/dist/utils/index.d.ts +8 -0
  37. package/dist/utils/index.d.ts.map +1 -0
  38. package/dist/utils/index.js +24 -0
  39. package/dist/utils/index.js.map +1 -0
  40. package/dist/utils/logger.d.ts +12 -0
  41. package/dist/utils/logger.d.ts.map +1 -0
  42. package/dist/utils/logger.js +47 -0
  43. package/dist/utils/logger.js.map +1 -0
  44. package/dist/utils/prompt.d.ts +10 -0
  45. package/dist/utils/prompt.d.ts.map +1 -0
  46. package/dist/utils/prompt.js +53 -0
  47. package/dist/utils/prompt.js.map +1 -0
  48. package/dist/utils/spinner.d.ts +9 -0
  49. package/dist/utils/spinner.d.ts.map +1 -0
  50. package/dist/utils/spinner.js +31 -0
  51. package/dist/utils/spinner.js.map +1 -0
  52. package/dist/utils/template.d.ts +7 -0
  53. package/dist/utils/template.d.ts.map +1 -0
  54. package/dist/utils/template.js +516 -0
  55. package/dist/utils/template.js.map +1 -0
  56. package/package.json +80 -0
  57. package/src/cli.ts +80 -0
  58. package/src/commands/build.ts +60 -0
  59. package/src/commands/create.ts +109 -0
  60. package/src/commands/dev.ts +138 -0
  61. package/src/commands/index.ts +8 -0
  62. package/src/commands/logs.ts +117 -0
  63. package/src/index.ts +17 -0
  64. package/src/types/index.ts +22 -0
  65. package/src/utils/index.ts +8 -0
  66. package/src/utils/logger.ts +42 -0
  67. package/src/utils/prompt.ts +56 -0
  68. package/src/utils/spinner.ts +25 -0
  69. package/src/utils/template.ts +635 -0
  70. package/tests/create.test.ts +33 -0
  71. package/tests/utils.test.ts +17 -0
  72. package/tsconfig.json +25 -0
package/.eslintrc.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "extends": "../../.eslintrc.json",
3
+ "parserOptions": {
4
+ "project": ["./tsconfig.json", "./tsconfig.tests.json"]
5
+ }
6
+ }
package/README.md ADDED
@@ -0,0 +1,92 @@
1
+ # @jetstart/cli
2
+
3
+ Command-line interface for JetStart - Fast, wireless Android development.
4
+
5
+ ## Installation
6
+ ```bash
7
+ npm install -g @jetstart/cli
8
+ ```
9
+
10
+ ## Commands
11
+
12
+ ### `jetstart create <name>`
13
+
14
+ Create a new JetStart project.
15
+ ```bash
16
+ jetstart create myApp
17
+ jetstart create myApp --package com.example.myapp
18
+ jetstart create myApp --skip-install
19
+ ```
20
+
21
+ **Options:**
22
+ - `-p, --package <name>` - Package name (e.g., com.example.app)
23
+ - `-t, --template <name>` - Template to use (default: "default")
24
+ - `--skip-install` - Skip npm install
25
+
26
+ ### `jetstart dev`
27
+
28
+ Start development server with hot reload.
29
+ ```bash
30
+ jetstart dev
31
+ jetstart dev --port 8080
32
+ jetstart dev --no-qr
33
+ ```
34
+
35
+ **Options:**
36
+ - `-p, --port <port>` - Port for dev server (default: 8765)
37
+ - `-H, --host <host>` - Host address (default: 0.0.0.0)
38
+ - `--no-qr` - Do not show QR code
39
+ - `--no-open` - Do not open browser
40
+
41
+ ### `jetstart build`
42
+
43
+ Build production APK.
44
+ ```bash
45
+ jetstart build
46
+ jetstart build --release
47
+ jetstart build --output ./dist
48
+ ```
49
+
50
+ **Options:**
51
+ - `-o, --output <path>` - Output directory (default: ./build)
52
+ - `-r, --release` - Build release version
53
+ - `--sign` - Sign the APK
54
+
55
+ ### `jetstart logs`
56
+
57
+ Stream application logs.
58
+ ```bash
59
+ jetstart logs
60
+ jetstart logs --level error
61
+ jetstart logs --source build
62
+ ```
63
+
64
+ **Options:**
65
+ - `-f, --follow` - Follow log output (default: true)
66
+ - `-l, --level <level>` - Filter by log level
67
+ - `-s, --source <source>` - Filter by log source
68
+ - `-n, --lines <number>` - Number of lines to show (default: 100)
69
+
70
+ ## Programmatic Usage
71
+ ```typescript
72
+ import { createCommand, devCommand, buildCommand } from '@jetstart/cli';
73
+
74
+ // Create a project
75
+ await createCommand('myApp', { package: 'com.example.myapp' });
76
+
77
+ // Start dev server
78
+ await devCommand({ port: '8765', host: '0.0.0.0' });
79
+
80
+ // Build APK
81
+ await buildCommand({ release: true, output: './dist' });
82
+ ```
83
+
84
+ ## Environment Variables
85
+
86
+ - `DEBUG` - Enable debug logging
87
+ - `JETSTART_PORT` - Default port for dev server
88
+ - `JETSTART_HOST` - Default host for dev server
89
+
90
+ ## License
91
+
92
+ Apache-2.0
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+
3
+ require('../dist/cli.js');
package/dist/cli.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * CLI Entry Point
4
+ * Defines all commands and handles command execution
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;GAGG"}
package/dist/cli.js ADDED
@@ -0,0 +1,74 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * CLI Entry Point
5
+ * Defines all commands and handles command execution
6
+ */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ const commander_1 = require("commander");
12
+ const chalk_1 = __importDefault(require("chalk"));
13
+ const create_1 = require("./commands/create");
14
+ const dev_1 = require("./commands/dev");
15
+ const build_1 = require("./commands/build");
16
+ const logs_1 = require("./commands/logs");
17
+ const shared_1 = require("@jetstart/shared");
18
+ const program = new commander_1.Command();
19
+ program
20
+ .name('jetstart')
21
+ .description('Fast, wireless Android development with Kotlin and Jetpack Compose')
22
+ .version(shared_1.JETSTART_VERSION);
23
+ // Create command
24
+ program
25
+ .command('create <name>')
26
+ .description('Create a new JetStart project')
27
+ .option('-p, --package <name>', 'Package name (e.g., com.example.app)')
28
+ .option('-t, --template <name>', 'Template to use', 'default')
29
+ .option('--skip-install', 'Skip npm install')
30
+ .action(create_1.createCommand);
31
+ // Dev command
32
+ program
33
+ .command('dev')
34
+ .description('Start development server')
35
+ .option('-p, --port <port>', 'Port for dev server', '8765')
36
+ .option('-H, --host <host>', 'Host address (defaults to auto-detected network IP)')
37
+ .option('--no-qr', 'Do not show QR code')
38
+ .option('--no-open', 'Do not open browser')
39
+ .action(dev_1.devCommand);
40
+ // Build command
41
+ program
42
+ .command('build')
43
+ .description('Build production APK')
44
+ .option('-o, --output <path>', 'Output directory', './build')
45
+ .option('-r, --release', 'Build release version', false)
46
+ .option('--sign', 'Sign the APK')
47
+ .action(build_1.buildCommand);
48
+ // Logs command
49
+ program
50
+ .command('logs')
51
+ .description('Stream application logs')
52
+ .option('-f, --follow', 'Follow log output', true)
53
+ .option('-l, --level <level>', 'Filter by log level')
54
+ .option('-s, --source <source>', 'Filter by log source')
55
+ .option('-n, --lines <number>', 'Number of lines to show', '100')
56
+ .action(logs_1.logsCommand);
57
+ // Error handling
58
+ program.on('command:*', (operands) => {
59
+ console.error(chalk_1.default.red(`Error: Unknown command '${operands[0]}'`));
60
+ console.log(chalk_1.default.yellow('\nRun "jetstart --help" for available commands'));
61
+ process.exit(1);
62
+ });
63
+ // Handle errors gracefully
64
+ process.on('unhandledRejection', (err) => {
65
+ console.error(chalk_1.default.red('Unhandled error:'), err.message);
66
+ process.exit(1);
67
+ });
68
+ // Parse arguments
69
+ program.parse(process.argv);
70
+ // Show help if no command provided
71
+ if (!process.argv.slice(2).length) {
72
+ program.outputHelp();
73
+ }
74
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AAEA;;;GAGG;;;;;AAEH,yCAAoC;AACpC,kDAA0B;AAC1B,8CAAkD;AAClD,wCAA4C;AAC5C,4CAAgD;AAChD,0CAA8C;AAC9C,6CAAoD;AAEpD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,oEAAoE,CAAC;KACjF,OAAO,CAAC,yBAAgB,CAAC,CAAC;AAE7B,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,+BAA+B,CAAC;KAC5C,MAAM,CAAC,sBAAsB,EAAE,sCAAsC,CAAC;KACtE,MAAM,CAAC,uBAAuB,EAAE,iBAAiB,EAAE,SAAS,CAAC;KAC7D,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;KAC5C,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,cAAc;AACd,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,0BAA0B,CAAC;KACvC,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,CAAC;KAC1D,MAAM,CAAC,mBAAmB,EAAE,qDAAqD,CAAC;KAClF,MAAM,CAAC,SAAS,EAAE,qBAAqB,CAAC;KACxC,MAAM,CAAC,WAAW,EAAE,qBAAqB,CAAC;KAC1C,MAAM,CAAC,gBAAU,CAAC,CAAC;AAEtB,gBAAgB;AAChB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,SAAS,CAAC;KAC5D,MAAM,CAAC,eAAe,EAAE,uBAAuB,EAAE,KAAK,CAAC;KACvD,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC;KAChC,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,yBAAyB,CAAC;KACtC,MAAM,CAAC,cAAc,EAAE,mBAAmB,EAAE,IAAI,CAAC;KACjD,MAAM,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;KACpD,MAAM,CAAC,uBAAuB,EAAE,sBAAsB,CAAC;KACvD,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,EAAE,KAAK,CAAC;KAChE,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,iBAAiB;AACjB,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE;IACnC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,2BAA2B,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,2BAA2B;AAC3B,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAU,EAAE,EAAE;IAC9C,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,kBAAkB;AAClB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,mCAAmC;AACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,UAAU,EAAE,CAAC;AACvB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Build Command
3
+ * Builds production APK
4
+ */
5
+ interface BuildOptions {
6
+ output?: string;
7
+ release?: boolean;
8
+ sign?: boolean;
9
+ }
10
+ export declare function buildCommand(options: BuildOptions): Promise<void>;
11
+ export {};
12
+ //# sourceMappingURL=build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,UAAU,YAAY;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,iBA0CvD"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ /**
3
+ * Build Command
4
+ * Builds production APK
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.buildCommand = buildCommand;
11
+ const path_1 = __importDefault(require("path"));
12
+ const chalk_1 = __importDefault(require("chalk"));
13
+ const logger_1 = require("../utils/logger");
14
+ const spinner_1 = require("../utils/spinner");
15
+ const shared_1 = require("@jetstart/shared");
16
+ async function buildCommand(options) {
17
+ try {
18
+ const buildType = options.release ? shared_1.BuildType.RELEASE : shared_1.BuildType.DEBUG;
19
+ const outputDir = options.output || './build';
20
+ (0, logger_1.log)(`Building ${buildType} APK...`);
21
+ console.log();
22
+ // Validate project
23
+ const spinner = (0, spinner_1.startSpinner)('Validating project...');
24
+ await new Promise(resolve => setTimeout(resolve, 500));
25
+ (0, spinner_1.stopSpinner)(spinner, true, 'Project validated');
26
+ // Compile Kotlin
27
+ const compileSpinner = (0, spinner_1.startSpinner)('Compiling Kotlin sources...');
28
+ await new Promise(resolve => setTimeout(resolve, 2000));
29
+ (0, spinner_1.stopSpinner)(compileSpinner, true, 'Kotlin compiled');
30
+ // Package APK
31
+ const packageSpinner = (0, spinner_1.startSpinner)('Packaging APK...');
32
+ await new Promise(resolve => setTimeout(resolve, 1500));
33
+ (0, spinner_1.stopSpinner)(packageSpinner, true, 'APK packaged');
34
+ // Sign APK (if release)
35
+ if (options.release && options.sign) {
36
+ const signSpinner = (0, spinner_1.startSpinner)('Signing APK...');
37
+ await new Promise(resolve => setTimeout(resolve, 800));
38
+ (0, spinner_1.stopSpinner)(signSpinner, true, 'APK signed');
39
+ }
40
+ console.log();
41
+ (0, logger_1.success)('Build completed successfully!');
42
+ console.log();
43
+ (0, logger_1.info)(`Output: ${chalk_1.default.cyan(path_1.default.resolve(outputDir))}`);
44
+ (0, logger_1.info)(`Size: ${chalk_1.default.cyan('5.2 MB')}`);
45
+ (0, logger_1.info)(`Type: ${chalk_1.default.cyan(buildType)}`);
46
+ console.log();
47
+ }
48
+ catch (err) {
49
+ (0, logger_1.error)(`Build failed: ${err.message}`);
50
+ process.exit(1);
51
+ }
52
+ }
53
+ //# sourceMappingURL=build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;AAcH,oCA0CC;AAtDD,gDAAwB;AACxB,kDAA0B;AAC1B,4CAA4D;AAC5D,8CAA6D;AAC7D,6CAA6C;AAQtC,KAAK,UAAU,YAAY,CAAC,OAAqB;IACtD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAS,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAS,CAAC,KAAK,CAAC;QACxE,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;QAE9C,IAAA,YAAG,EAAC,YAAY,SAAS,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,mBAAmB;QACnB,MAAM,OAAO,GAAG,IAAA,sBAAY,EAAC,uBAAuB,CAAC,CAAC;QACtD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACvD,IAAA,qBAAW,EAAC,OAAO,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAEhD,iBAAiB;QACjB,MAAM,cAAc,GAAG,IAAA,sBAAY,EAAC,6BAA6B,CAAC,CAAC;QACnE,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACxD,IAAA,qBAAW,EAAC,cAAc,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAErD,cAAc;QACd,MAAM,cAAc,GAAG,IAAA,sBAAY,EAAC,kBAAkB,CAAC,CAAC;QACxD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACxD,IAAA,qBAAW,EAAC,cAAc,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAElD,wBAAwB;QACxB,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,IAAA,sBAAY,EAAC,gBAAgB,CAAC,CAAC;YACnD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YACvD,IAAA,qBAAW,EAAC,WAAW,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,IAAA,gBAAO,EAAC,+BAA+B,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,IAAA,aAAI,EAAC,WAAW,eAAK,CAAC,IAAI,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;QACvD,IAAA,aAAI,EAAC,SAAS,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACtC,IAAA,aAAI,EAAC,SAAS,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,EAAE,CAAC;IAEhB,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAA,cAAK,EAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Create Command
3
+ * Scaffolds a new JetStart project
4
+ */
5
+ interface CreateOptions {
6
+ package?: string;
7
+ template?: string;
8
+ skipInstall?: boolean;
9
+ }
10
+ export declare function createCommand(name: string, options: CreateOptions): Promise<void>;
11
+ export {};
12
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,iBAwFvE"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ /**
3
+ * Create Command
4
+ * Scaffolds a new JetStart project
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.createCommand = createCommand;
11
+ const path_1 = __importDefault(require("path"));
12
+ const fs_extra_1 = __importDefault(require("fs-extra"));
13
+ const chalk_1 = __importDefault(require("chalk"));
14
+ const logger_1 = require("../utils/logger");
15
+ const spinner_1 = require("../utils/spinner");
16
+ const prompt_1 = require("../utils/prompt");
17
+ const template_1 = require("../utils/template");
18
+ const shared_1 = require("@jetstart/shared");
19
+ async function createCommand(name, options) {
20
+ try {
21
+ // Validate project name
22
+ if (!(0, shared_1.isValidProjectName)(name)) {
23
+ (0, logger_1.error)('Invalid project name. Use letters, numbers, hyphens, and underscores only.');
24
+ (0, logger_1.error)('Project name must start with a letter and be 1-64 characters long.');
25
+ process.exit(1);
26
+ }
27
+ const projectPath = path_1.default.resolve(process.cwd(), name);
28
+ // Check if directory already exists
29
+ if (await fs_extra_1.default.pathExists(projectPath)) {
30
+ (0, logger_1.error)(`Directory '${name}' already exists!`);
31
+ process.exit(1);
32
+ }
33
+ (0, logger_1.log)(`Creating JetStart project: ${chalk_1.default.cyan(name)}`);
34
+ console.log();
35
+ // Get package name
36
+ let packageName = options.package;
37
+ if (!packageName) {
38
+ const defaultPackage = `com.jetstart.${name.toLowerCase().replace(/[^a-z0-9]/g, '')}`;
39
+ const answer = await (0, prompt_1.prompt)({
40
+ type: 'input',
41
+ name: 'packageName',
42
+ message: 'Package name:',
43
+ default: defaultPackage,
44
+ validate: (input) => {
45
+ if (!(0, shared_1.isValidPackageName)(input)) {
46
+ return 'Invalid package name. Use format: com.company.app';
47
+ }
48
+ return true;
49
+ },
50
+ });
51
+ packageName = answer.packageName;
52
+ }
53
+ // Validate package name
54
+ if (!(0, shared_1.isValidPackageName)(packageName)) {
55
+ (0, logger_1.error)('Invalid package name. Use format: com.company.app');
56
+ process.exit(1);
57
+ }
58
+ // Create project structure
59
+ const spinner = (0, spinner_1.startSpinner)('Creating project structure...');
60
+ try {
61
+ await fs_extra_1.default.ensureDir(projectPath);
62
+ // Generate project files
63
+ await (0, template_1.generateProjectTemplate)(projectPath, {
64
+ projectName: name,
65
+ packageName: packageName,
66
+ template: options.template || 'default',
67
+ });
68
+ (0, spinner_1.stopSpinner)(spinner, true, 'Project structure created');
69
+ // Install dependencies
70
+ if (!options.skipInstall) {
71
+ const installSpinner = (0, spinner_1.startSpinner)('Installing dependencies...');
72
+ // In a real implementation, we'd run npm/gradle here
73
+ // For now, we'll simulate it
74
+ await new Promise(resolve => setTimeout(resolve, 1000));
75
+ (0, spinner_1.stopSpinner)(installSpinner, true, 'Dependencies installed');
76
+ }
77
+ console.log();
78
+ (0, logger_1.success)(`Successfully created project: ${chalk_1.default.cyan(name)}`);
79
+ console.log();
80
+ console.log(chalk_1.default.bold('Next steps:'));
81
+ console.log(` ${chalk_1.default.cyan('cd')} ${name}`);
82
+ console.log(` ${chalk_1.default.cyan('jetstart dev')}`);
83
+ console.log();
84
+ }
85
+ catch (err) {
86
+ (0, spinner_1.stopSpinner)(spinner, false, 'Failed to create project');
87
+ throw err;
88
+ }
89
+ }
90
+ catch (err) {
91
+ (0, logger_1.error)(`Failed to create project: ${err.message}`);
92
+ process.exit(1);
93
+ }
94
+ }
95
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Dev Command
3
+ * Starts the development server
4
+ */
5
+ interface DevOptions {
6
+ port?: string;
7
+ host?: string;
8
+ qr?: boolean;
9
+ open?: boolean;
10
+ }
11
+ export declare function devCommand(options: DevOptions): Promise<void>;
12
+ export {};
13
+ //# sourceMappingURL=dev.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,iBAuFnD"}
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ /**
3
+ * Dev Command
4
+ * Starts the development server
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ var __importDefault = (this && this.__importDefault) || function (mod) {
40
+ return (mod && mod.__esModule) ? mod : { "default": mod };
41
+ };
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.devCommand = devCommand;
44
+ const path = __importStar(require("path"));
45
+ const os = __importStar(require("os"));
46
+ const chalk_1 = __importDefault(require("chalk"));
47
+ const qrcode_terminal_1 = __importDefault(require("qrcode-terminal"));
48
+ const logger_1 = require("../utils/logger");
49
+ const core_1 = require("@jetstart/core");
50
+ const shared_1 = require("@jetstart/shared");
51
+ async function devCommand(options) {
52
+ try {
53
+ const port = parseInt(options.port || String(shared_1.DEFAULT_CORE_PORT));
54
+ const wsPort = shared_1.DEFAULT_WS_PORT;
55
+ const host = options.host || getLocalIP();
56
+ const showQR = options.qr !== false;
57
+ (0, logger_1.log)('Starting JetStart development server...');
58
+ console.log();
59
+ // Get project path and name
60
+ const projectPath = process.cwd();
61
+ const projectName = path.basename(projectPath);
62
+ // Create and start Core server
63
+ // Bind to 0.0.0.0 to accept connections on all interfaces,
64
+ // but pass the detected IP for display and client connections
65
+ const server = new core_1.JetStartServer({
66
+ httpPort: port,
67
+ wsPort,
68
+ host: '0.0.0.0', // Bind to all interfaces for maximum compatibility
69
+ displayHost: host, // Use detected IP for display and client connections
70
+ projectPath,
71
+ projectName,
72
+ });
73
+ const session = await server.start();
74
+ // Get URLs
75
+ const serverUrl = `http://${host}:${port}`;
76
+ const wsUrl = `ws://${host}:${wsPort}`;
77
+ const localUrl = `http://localhost:${port}`;
78
+ console.log();
79
+ (0, logger_1.success)('JetStart dev server is running!');
80
+ console.log();
81
+ (0, logger_1.info)(`Local: ${chalk_1.default.cyan(localUrl)}`);
82
+ (0, logger_1.info)(`Network: ${chalk_1.default.cyan(serverUrl)}`);
83
+ (0, logger_1.info)(`Project: ${chalk_1.default.cyan(projectName)}`);
84
+ console.log();
85
+ // Generate QR code for mobile connection
86
+ if (showQR) {
87
+ const qrData = {
88
+ serverUrl,
89
+ wsUrl,
90
+ sessionId: session.id,
91
+ token: session.token,
92
+ projectName,
93
+ version: '0.1.0',
94
+ };
95
+ console.log(chalk_1.default.bold('Scan QR or connect manually:'));
96
+ qrcode_terminal_1.default.generate(JSON.stringify(qrData), { small: true });
97
+ console.log();
98
+ (0, logger_1.info)(`IP: ${chalk_1.default.cyan(host)}`);
99
+ (0, logger_1.info)(`Session: ${chalk_1.default.dim(session.id)}`);
100
+ (0, logger_1.info)(`Token: ${chalk_1.default.dim(session.token)}`);
101
+ }
102
+ (0, logger_1.info)('Watching for file changes...');
103
+ (0, logger_1.info)('Press Ctrl+C to stop');
104
+ console.log();
105
+ // Handle graceful shutdown
106
+ process.on('SIGINT', async () => {
107
+ console.log();
108
+ (0, logger_1.log)('Shutting down dev server...');
109
+ await server.stop();
110
+ process.exit(0);
111
+ });
112
+ process.on('SIGTERM', async () => {
113
+ console.log();
114
+ (0, logger_1.log)('Shutting down dev server...');
115
+ await server.stop();
116
+ process.exit(0);
117
+ });
118
+ // Keep process alive
119
+ await new Promise(() => { }); // Keep alive forever
120
+ }
121
+ catch (err) {
122
+ (0, logger_1.error)(`Failed to start dev server: ${err.message}`);
123
+ console.error(err.stack);
124
+ process.exit(1);
125
+ }
126
+ }
127
+ function getLocalIP() {
128
+ const interfaces = os.networkInterfaces();
129
+ const addresses = [];
130
+ for (const name of Object.keys(interfaces)) {
131
+ const iface = interfaces[name];
132
+ if (!iface)
133
+ continue;
134
+ for (const alias of iface) {
135
+ // Handle both 'IPv4' string (Node.js 18+) and numeric 4 (older versions)
136
+ const isIPv4 = alias.family === 'IPv4' || alias.family === 4;
137
+ if (isIPv4 && !alias.internal) {
138
+ // Prefer addresses starting with 192.168 (typical home/hotspot network)
139
+ if (alias.address.startsWith('192.168')) {
140
+ return alias.address;
141
+ }
142
+ addresses.push(alias.address);
143
+ }
144
+ }
145
+ }
146
+ // Return first non-internal IPv4 address found
147
+ if (addresses.length > 0) {
148
+ return addresses[0];
149
+ }
150
+ return 'localhost';
151
+ }
152
+ //# sourceMappingURL=dev.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Export all commands
3
+ */
4
+ export { createCommand } from './create';
5
+ export { devCommand } from './dev';
6
+ export { buildCommand } from './build';
7
+ export { logsCommand } from './logs';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ /**
3
+ * Export all commands
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.logsCommand = exports.buildCommand = exports.devCommand = exports.createCommand = void 0;
7
+ var create_1 = require("./create");
8
+ Object.defineProperty(exports, "createCommand", { enumerable: true, get: function () { return create_1.createCommand; } });
9
+ var dev_1 = require("./dev");
10
+ Object.defineProperty(exports, "devCommand", { enumerable: true, get: function () { return dev_1.devCommand; } });
11
+ var build_1 = require("./build");
12
+ Object.defineProperty(exports, "buildCommand", { enumerable: true, get: function () { return build_1.buildCommand; } });
13
+ var logs_1 = require("./logs");
14
+ Object.defineProperty(exports, "logsCommand", { enumerable: true, get: function () { return logs_1.logsCommand; } });
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,mCAAyC;AAAhC,uGAAA,aAAa,OAAA;AACtB,6BAAmC;AAA1B,iGAAA,UAAU,OAAA;AACnB,iCAAuC;AAA9B,qGAAA,YAAY,OAAA;AACrB,+BAAqC;AAA5B,mGAAA,WAAW,OAAA"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Logs Command
3
+ * Streams application logs
4
+ */
5
+ interface LogsOptions {
6
+ follow?: boolean;
7
+ level?: string;
8
+ source?: string;
9
+ lines?: string;
10
+ }
11
+ export declare function logsCommand(options: LogsOptions): Promise<void>;
12
+ export {};
13
+ //# sourceMappingURL=logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,iBAyDrD"}