@@ -33,6 +33,20 @@ interface ApplyEnvOptions {
3333
3434type ParsedEnv = Record < string , string > ;
3535
36+ type ServerFactory = ( ) => NetServer ;
37+
38+ let serverFactory : ServerFactory = ( ) => createServer ( ) ;
39+
40+ /**
41+ * Overrides the net server factory used when probing ports.
42+ * This is primarily a testing utility to allow mocking of `net.createServer`
43+ * in environments where opening real sockets is not possible or desired.
44+ * @param factory A function that returns a `net.Server` instance, or null to reset.
45+ */
46+ function setServerFactory ( factory : ServerFactory | null ) : void {
47+ serverFactory = factory ?? ( ( ) => createServer ( ) ) ;
48+ }
49+
3650/**
3751 * Bootstraps the local backend server with dynamic ports and env-file fallback.
3852 * This function orchestrates the entire startup sequence for local development.
@@ -72,15 +86,15 @@ async function main(): Promise<void> {
7286 process . env . BACKEND_PORT = backendPort . toString ( ) ;
7387
7488 // 3. Determine and set the Node.js inspector port.
75- const inspectorParsed = process . env . INSPECT_PORT ? Number . parseInt ( process . env . INSPECT_PORT , 10 ) : undefined ;
76- let inspectPort : number ;
77- if ( isDefaultRepo ) {
78- inspectPort = Number . isFinite ( inspectorParsed ) ? inspectorParsed ! : 9229 ;
79- await ensurePortAvailable ( inspectPort ) ;
80- } else {
81- inspectPort = await findAvailablePort ( Number . isFinite ( inspectorParsed ) ? inspectorParsed : 9229 ) ;
82- }
83- process . env . INSPECT_PORT = inspectPort . toString ( ) ;
89+ // const inspectorParsed = process.env.INSPECT_PORT ? Number.parseInt(process.env.INSPECT_PORT, 10) : undefined;
90+ // let inspectPort: number;
91+ // if (isDefaultRepo) {
92+ // inspectPort = Number.isFinite(inspectorParsed) ? inspectorParsed! : 9229;
93+ // await ensurePortAvailable(inspectPort);
94+ // } else {
95+ // inspectPort = await findAvailablePort(Number.isFinite(inspectorParsed) ? inspectorParsed : 9229);
96+ // }
97+ // process.env.INSPECT_PORT = inspectPort.toString();
8498
8599 // 4. Set environment variables that depend on the resolved ports.
86100 const apiBaseUrl = `http://localhost:${ backendPort } /api/` ;
@@ -100,22 +114,22 @@ async function main(): Promise<void> {
100114 logger . info ( `[start-local] using env file ${ envFilePath } ` ) ;
101115 }
102116 logger . info ( `[start-local] backend listening on ${ backendPort } ` ) ;
103- logger . info ( `[start-local] inspector listening on ${ inspectPort } ` ) ;
117+ // logger.info(`[start-local] inspector listening on ${inspectPort}`);
104118
105119 // 5. Attempt to open the inspector in a browser.
106- try {
107- open ( inspectPort , '0.0.0.0' , false ) ;
108- } catch ( error ) {
109- logger . warn ( error , `[start-local] failed to open inspector on ${ inspectPort } ` ) ;
110- }
120+ // try {
121+ // open(inspectPort, '0.0.0.0', false);
122+ // } catch (error) {
123+ // logger.warn(error, `[start-local] failed to open inspector on ${inspectPort}`);
124+ // }
111125
112126 // 6. Write runtime metadata for other processes to consume.
113127 // This allows the frontend dev server to know which port the backend is running on.
114128 const runtimeMetadataPath = path . join ( process . cwd ( ) , '.typedai' , 'runtime' , 'backend.json' ) ;
115129 writeRuntimeMetadata ( runtimeMetadataPath , {
116130 envFilePath,
117131 backendPort,
118- inspectPort,
132+ // inspectPort,
119133 } ) ;
120134
121135 // 7. Start the server by requiring the main application entry point.
@@ -236,20 +250,6 @@ function writeRuntimeMetadata(targetPath: string, data: Record<string, unknown>)
236250 writeFileSync ( targetPath , JSON . stringify ( { ...data , updatedAt : new Date ( ) . toISOString ( ) } , null , 2 ) ) ;
237251}
238252
239- type ServerFactory = ( ) => NetServer ;
240-
241- let serverFactory : ServerFactory = ( ) => createServer ( ) ;
242-
243- /**
244- * Overrides the net server factory used when probing ports.
245- * This is primarily a testing utility to allow mocking of `net.createServer`
246- * in environments where opening real sockets is not possible or desired.
247- * @param factory A function that returns a `net.Server` instance, or null to reset.
248- */
249- function setServerFactory ( factory : ServerFactory | null ) : void {
250- serverFactory = factory ?? ( ( ) => createServer ( ) ) ;
251- }
252-
253253/**
254254 * Attempts to find a free TCP port.
255255 * It first checks the `preferred` port and a number of subsequent ports (`attempts`).
0 commit comments