@geekmidas/cli 0.35.0 → 0.36.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geekmidas/cli",
3
- "version": "0.35.0",
3
+ "version": "0.36.0",
4
4
  "description": "CLI tools for building Lambda handlers, server applications, and generating OpenAPI specs",
5
5
  "private": false,
6
6
  "type": "module",
package/src/dev/index.ts CHANGED
@@ -1312,7 +1312,7 @@ await import('${entryPath}');
1312
1312
  * Does not require gkm.config.ts.
1313
1313
  */
1314
1314
  async function entryDevCommand(options: DevOptions): Promise<void> {
1315
- const { entry, port = 3000, watch = true } = options;
1315
+ const { entry, watch = true } = options;
1316
1316
 
1317
1317
  if (!entry) {
1318
1318
  throw new Error('--entry requires a file path');
@@ -1324,24 +1324,37 @@ async function entryDevCommand(options: DevOptions): Promise<void> {
1324
1324
  throw new Error(`Entry file not found: ${entryPath}`);
1325
1325
  }
1326
1326
 
1327
- logger.log(`🚀 Starting entry file: ${entry}`);
1328
-
1329
1327
  // Load .env files
1330
1328
  const defaultEnv = loadEnvFiles('.env');
1331
1329
  if (defaultEnv.loaded.length > 0) {
1332
1330
  logger.log(`📦 Loaded env: ${defaultEnv.loaded.join(', ')}`);
1333
1331
  }
1334
1332
 
1335
- // Determine secrets root (current dir or workspace root)
1336
- const secretsRoot = findSecretsRoot(process.cwd());
1337
- logger.log(`🔍 Secrets root: ${secretsRoot}`);
1333
+ // Try to get workspace app config for port and secrets
1334
+ let workspaceAppPort: number | undefined;
1335
+ let secretsRoot: string = process.cwd();
1336
+ let appName: string | undefined;
1338
1337
 
1339
- // Determine app name for per-app secret mapping
1340
- const appName = getAppNameFromCwd() ?? undefined;
1341
- if (appName) {
1342
- logger.log(`📦 App name: ${appName}`);
1338
+ try {
1339
+ const appConfig = await loadAppConfig();
1340
+ workspaceAppPort = appConfig.app.port;
1341
+ secretsRoot = appConfig.workspaceRoot;
1342
+ appName = appConfig.appName;
1343
+ logger.log(`📦 App: ${appName} (port ${workspaceAppPort})`);
1344
+ } catch {
1345
+ // Not in a workspace - use defaults
1346
+ secretsRoot = findSecretsRoot(process.cwd());
1347
+ appName = getAppNameFromCwd() ?? undefined;
1348
+ if (appName) {
1349
+ logger.log(`📦 App name: ${appName}`);
1350
+ }
1343
1351
  }
1344
1352
 
1353
+ // Determine port: explicit --port > workspace config > default 3000
1354
+ const port = options.port ?? workspaceAppPort ?? 3000;
1355
+
1356
+ logger.log(`🚀 Starting entry file: ${entry} on port ${port}`);
1357
+
1345
1358
  // Load secrets
1346
1359
  const appSecrets = await loadSecretsForApp(secretsRoot, appName);
1347
1360
  if (Object.keys(appSecrets).length > 0) {