@common-stack/server-stack 9.0.2-alpha.1 → 9.0.2-alpha.10

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.
@@ -1,15 +1,8 @@
1
- 'use strict';require('reflect-metadata');var http=require('http'),server=require('@cdm-logger/server'),serverCore=require('@common-stack/server-core'),_=require('lodash-es'),graphqlModule=require('@common-stack/graphql-api/lib/module.js'),ExpressApp=require('./servers/ExpressApp.cjs'),GraphqlServer=require('./servers/GraphqlServer.cjs'),envConfig=require('./config/env-config.cjs'),schemaBuilder=require('./api/schema-builder.cjs'),WebsocketMultipathUpdate=require('./servers/WebsocketMultipathUpdate.cjs'),migrations=require('./utils/migrations.cjs');require('graphql');var subGraphSchemaBuilder=require('./api/sub-graph-schema-builder.cjs'),setup=require('./inngest/setup.cjs');require('inversify'),require('common/server'),require('@common-stack/core');var infrastructureFactory=require('./infrastructure/infrastructure-factory.cjs');require('inngest');function _interopNamespaceDefault(e){var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var http__namespace=/*#__PURE__*/_interopNamespaceDefault(http);/* eslint-disable import/namespace */
1
+ 'use strict';require('reflect-metadata');var expressAdapter=require('./express-adapter.cjs'),server=require('@cdm-logger/server'),serverCore=require('@common-stack/server-core'),_=require('lodash-es'),graphqlModule=require('@common-stack/graphql-api/lib/module.js'),ExpressApp=require('./servers/ExpressApp.cjs'),GraphqlServer=require('./servers/GraphqlServer.cjs'),envConfig=require('./config/env-config.cjs'),schemaBuilder=require('./api/schema-builder.cjs'),WebsocketMultipathUpdate=require('./servers/WebsocketMultipathUpdate.cjs'),migrations=require('./utils/migrations.cjs');require('graphql');var subGraphSchemaBuilder=require('./api/sub-graph-schema-builder.cjs'),setup=require('./inngest/setup.cjs');require('inversify'),require('common/server'),require('@common-stack/core');var infrastructureFactory=require('./infrastructure/infrastructure-factory.cjs');require('inngest');/* eslint-disable import/namespace */
2
2
  /* eslint-disable import/no-unresolved */
3
3
  /* eslint-disable import/no-extraneous-dependencies */
4
4
  // version 08/25/2021
5
5
  const graphqlApiFeature = graphqlModule.default ?? graphqlModule;
6
- function startListening(port) {
7
- // eslint-disable-next-line @typescript-eslint/no-this-alias
8
- const server = this;
9
- return new Promise((resolve) => {
10
- server.listen(port, resolve);
11
- });
12
- }
13
6
  /**
14
7
  * Controls the lifecycle of the Application Server
15
8
  *
@@ -17,8 +10,16 @@ function startListening(port) {
17
10
  * @class StackServer
18
11
  */
19
12
  class MainStackServer {
20
- httpServer;
21
13
  app;
14
+ /**
15
+ * The underlying HTTP server.
16
+ * - ultimate-express: null (uWebSockets.js manages the server internally)
17
+ * - classic express: http.Server from http.createServer(app)
18
+ *
19
+ * Also provides backward-compatible startListening() and close() methods.
20
+ */
21
+ httpServer;
22
+ listenSocket;
22
23
  logger;
23
24
  infrastructureFactory;
24
25
  mainServiceContext;
@@ -79,8 +80,18 @@ class MainStackServer {
79
80
  await originalStart();
80
81
  // Use main container if microservice container is null (due to module reuse)
81
82
  const containerToUse = this.microserviceContext.container || this.mainServiceContext.container;
82
- await this.serverFeature.microservicePreStart(containerToUse);
83
- await this.serverFeature.microservicePostStart(containerToUse);
83
+ try {
84
+ await this.serverFeature.microservicePreStart(containerToUse);
85
+ }
86
+ catch (preStartErr) {
87
+ this.logger.error('Error in microservicePreStart hooks:', preStartErr);
88
+ }
89
+ try {
90
+ await this.serverFeature.microservicePostStart(containerToUse);
91
+ }
92
+ catch (postStartErr) {
93
+ this.logger.error('Error in microservicePostStart hooks:', postStartErr);
94
+ }
84
95
  };
85
96
  }
86
97
  async setupGraphQLSchema() {
@@ -124,6 +135,13 @@ class MainStackServer {
124
135
  services = {};
125
136
  }
126
137
  }
138
+ // Make services available on the Feature instance so phasedContextMiddleware
139
+ // (which reads `feature.services` to seed `req.services` in pre-beforeware)
140
+ // works regardless of whether services came from baseModules or
141
+ // allModules.createService(). Without this, the reuse path leaves
142
+ // allModules.services undefined and REST routes hit
143
+ // `req.services.accountService` undefined.
144
+ allModules.services = services;
127
145
  // Create service context function that uses the created services
128
146
  const serviceContextFunc = async (req, connectionParams, webSocket) => {
129
147
  const results = await Promise.all(allModules.createContextFunc.map((createContext) => createContext(req, connectionParams, webSocket)));
@@ -144,28 +162,37 @@ class MainStackServer {
144
162
  }
145
163
  async setupHttpServer() {
146
164
  const { context } = this.mainServiceContext;
147
- // Initialize HTTP server and Express app
148
- this.httpServer = http__namespace.createServer();
165
+ // Initialize Express app using the configured engine (ultimate-express or classic express)
166
+ // The adapter selects the engine based on EXPRESS_ENGINE env var.
149
167
  // Pass Redis client to expressApp so it can be attached at the very top of middleware stack
150
- this.app = await ExpressApp.expressApp(this.allModules, this.serviceBroker, null, this.httpServer, context.redisClient);
168
+ this.app = await ExpressApp.expressApp(this.allModules, this.serviceBroker, null, undefined, context.redisClient);
169
+ // Create HTTP server (null for ultimate-express, http.Server for classic express)
170
+ const rawHttpServer = expressAdapter.createHttpServer(this.app);
171
+ // Provide backward-compatible httpServer with startListening() and close()
172
+ this.httpServer = Object.assign(rawHttpServer || {}, {
173
+ startListening: (port) => this.startListening(port),
174
+ close: () => {
175
+ if (rawHttpServer) {
176
+ rawHttpServer.close();
177
+ }
178
+ // ultimate-express handles cleanup internally
179
+ },
180
+ });
151
181
  // Register existing express middleware (Redis client middleware is already attached in expressApp)
152
182
  this.allModules.registerExpressMiddleware(this.app, this.mainServiceContext.container);
153
183
  // Setup Inngest functions
154
184
  setup.setupInngestFunctions(this.allModules, this.app, this.mainServiceContext.container, this.logger);
155
- this.httpServer.startListening = startListening.bind(this.httpServer);
156
- this.httpServer.on('request', this.app);
157
- this.httpServer.on('close', () => {
158
- this.httpServer = undefined;
159
- });
160
185
  // Setup WebSocket if configured
161
186
  const customWebsocket = this.allModules.getWebsocketConfig();
162
187
  const customWebsocketEnable = !_.isEmpty(customWebsocket);
163
188
  if (customWebsocketEnable) {
164
- this.multiPathWebsocket = new WebsocketMultipathUpdate.WebsocketMultiPathServer(this.serviceBroker, context.redisClient, customWebsocket);
165
- this.httpServer = this.multiPathWebsocket.httpServerUpgrade(this.httpServer);
189
+ this.multiPathWebsocket = new WebsocketMultipathUpdate.WebsocketMultiPathServer(this.serviceBroker, context.redisClient, expressAdapter.isUltimateEngine ? this.app : rawHttpServer, customWebsocket);
166
190
  }
167
191
  // Setup GraphQL server
168
- const graphqlServer = new GraphqlServer.GraphqlServer(this.app, this.httpServer, context.redisClient, this.serviceBroker, !customWebsocketEnable, this.allModules.apolloCacheKeyGenerator.bind(this.allModules), this.allModules.apolloInvalidateCacheKeyGenerator.bind(this.allModules), this.allModules.graphqlPlugins);
192
+ // Pass the appropriate server object based on engine:
193
+ // - ultimate-express: pass the app (WebSocket servers bind via { server: app })
194
+ // - classic express: pass the httpServer (WebSocket servers bind via { server: httpServer })
195
+ const graphqlServer = new GraphqlServer.GraphqlServer(this.app, expressAdapter.isUltimateEngine ? this.app : rawHttpServer, context.redisClient, this.serviceBroker, !customWebsocketEnable, this.allModules.apolloCacheKeyGenerator.bind(this.allModules), this.allModules.apolloInvalidateCacheKeyGenerator.bind(this.allModules), this.allModules.graphqlPlugins);
169
196
  await graphqlServer.initialize();
170
197
  this.app.use('/graphql', (req, res, next) => {
171
198
  res.append('Access-Control-Allow-Credentials', JSON.stringify(true));
@@ -175,9 +202,39 @@ class MainStackServer {
175
202
  next();
176
203
  });
177
204
  }
205
+ /**
206
+ * Start listening on the given port.
207
+ * - ultimate-express: uses the built-in high-performance uWebSockets.js server
208
+ * - classic express: uses http.Server.listen()
209
+ */
210
+ startListening(port) {
211
+ return new Promise((resolve) => {
212
+ const server = expressAdapter.isUltimateEngine ? this.app : this.httpServer;
213
+ server.listen(port, () => {
214
+ this.logger.info('Server listening on port %d (engine: %s)', port, expressAdapter.isUltimateEngine ? 'ultimate-express' : 'express');
215
+ resolve();
216
+ });
217
+ });
218
+ }
178
219
  async start() {
179
220
  if (envConfig.config.NODE_ENV === 'development' && this.microserviceContext) {
221
+ // Start both brokers in parallel to avoid blocking on service dependencies
222
+ // Services on one broker may depend on services on the other broker
180
223
  await Promise.all([this.mainServiceContext.broker.start(), this.microserviceContext.broker.start()]);
224
+ // Wait for service discovery between brokers
225
+ // The TCP transporter needs time to discover services from other nodes
226
+ await new Promise((resolve) => setTimeout(resolve, 2000));
227
+ // Now run migrations after both brokers are fully started
228
+ // This ensures all Moleculer services (like MailerService) are available
229
+ try {
230
+ this.logger.info('Starting Migration');
231
+ await migrations.migrate(this.mainServiceContext.context.mongoClient, this.mainServiceContext.container, this.logger);
232
+ this.logger.info('End Migration');
233
+ }
234
+ catch (e) {
235
+ this.logger.error('Error while running migrations', e);
236
+ this.logger.error(e.stack);
237
+ }
181
238
  }
182
239
  else {
183
240
  await this.mainServiceContext.broker.start();
@@ -200,8 +257,9 @@ class MainStackServer {
200
257
  if (this.multiPathWebsocket) {
201
258
  this.multiPathWebsocket.close();
202
259
  }
203
- if (this.httpServer) {
204
- await this.httpServer.close();
260
+ // Close HTTP server if using classic express
261
+ if (this.httpServer && typeof this.httpServer.close === 'function') {
262
+ this.httpServer.close();
205
263
  }
206
264
  if (this.infrastructureFactory) {
207
265
  await this.infrastructureFactory.cleanup();
@@ -1 +1 @@
1
- {"version":3,"file":"MainStackServer.cjs","sources":["../src/MainStackServer.ts"],"sourcesContent":[null],"names":["serverLogger","InfrastructureFactory","config","Feature","SubGraphSchemaBuilder","GatewaySchemaBuilder","merge","http","expressApp","setupInngestFunctions","isEmpty","WebsocketMultiPathServer","GraphqlServer","migrate"],"mappings":"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"}
1
+ {"version":3,"file":"MainStackServer.cjs","sources":["../src/MainStackServer.ts"],"sourcesContent":[null],"names":["serverLogger","InfrastructureFactory","config","Feature","SubGraphSchemaBuilder","GatewaySchemaBuilder","merge","expressApp","createHttpServer","setupInngestFunctions","isEmpty","WebsocketMultiPathServer","isUltimateEngine","GraphqlServer","migrate"],"mappings":"q3BAAA;AACA;AACA;AACA;AAyBA,MAAM,iBAAiB,GAAI,aAAqB,CAAC,OAAO,IAAI,aAAa,CAAC;AAE1E;;;;;AAKG;MACU,eAAe,CAAA;AACjB,IAAA,GAAG,CAAU;AAEpB;;;;;;AAMG;AACI,IAAA,UAAU,CAAkG;AAE3G,IAAA,YAAY,CAAM;AAElB,IAAA,MAAM,CAAU;AAEhB,IAAA,qBAAqB,CAAwB;AAE7C,IAAA,kBAAkB,CAKxB;AAEM,IAAA,mBAAmB,CAKzB;AAEM,IAAA,kBAAkB,CAA2B;AAE7C,IAAA,aAAa,CAAgB;AAE7B,IAAA,QAAQ,CAAC;AAET,IAAA,OAAO,CAA0B;AAEjC,IAAA,aAAa,CAAiB;AAE9B,IAAA,UAAU,CAAU;AAE5B,IAAA,WAAA,CAAY,OAAsB,EAAE,QAAQ,EAAE,OAAiC,EAAA;AAC3E,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;AAC7B,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,QAAA,IAAI,CAAC,MAAM,GAAGA,aAAY,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,qBAAqB,GAAG,IAAIC,2CAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACvE;AAEM,IAAA,MAAM,UAAU,GAAA;AACnB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;;AAG7C,QAAA,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,CAAC;;QAG9C,IAAI,CAAC,kBAAkB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAC/EA,2CAAqB,CAAC,uBAAuB,EAAE,EAC/C,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,QAAQ,CAChB,CAAC;;QAGF,IAAI,CAAC,+BAA+B,EAAE,CAAC;;;AAIvC,QAAA,IAAIC,gBAAM,CAAC,QAAQ,KAAK,aAAa,EAAE;AACnC,YAAA,IAAI,CAAC,mBAAmB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAChFD,2CAAqB,CAAC,mCAAmC,EAAE,EAC3D,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,kBAAkB,CAAC,UAAU,CACrC,CAAC;YACF,IAAI,CAAC,gCAAgC,EAAE,CAAC;SAC3C;;AAGD,QAAA,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;;AAGhC,QAAA,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;KAChC;IAEO,+BAA+B,GAAA;AACnC,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAChG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,GAAG,YAAW;YAC9C,MAAM,aAAa,EAAE,CAAC;;AAGtB,YAAA,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;;;AAKrE,YAAA,IAAI;AACA,gBAAA,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;aACzE;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAU,EAAE,gCAAgC,CAAC,CAAC;aACnE;AACL,SAAC,CAAC;KACL;IAEO,gCAAgC,GAAA;QACpC,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO;AAEtC,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAClG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,GAAG,YAAW;YAC/C,MAAM,aAAa,EAAE,CAAC;;AAGtB,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;AAE/F,YAAA,IAAI;gBACA,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;aACjE;YAAC,OAAO,WAAW,EAAE;gBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,WAAW,CAAC,CAAC;aAC1E;AAED,YAAA,IAAI;gBACA,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;aAClE;YAAC,OAAO,YAAY,EAAE;gBACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,YAAY,CAAC,CAAC;aAC5E;AACL,SAAC,CAAC;KACL;AAEO,IAAA,MAAM,kBAAkB,GAAA;AAC5B,QAAA,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;;AAGhF,QAAA,MAAM,UAAU,GAAG,IAAIE,kBAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;AAEtF,QAAA,MAAM,WAAW,GAAG,IAAI,EAAE,OAAO,EAAE,UAAU,GAAGC,2CAAqB,GAAGC,kCAAoB,CAAC;AAC7F,QAAA,MAAM,gBAAgB,GAAG,MAAM,IAAI,WAAW,CAAC;YAC3C,MAAM,EAAE,UAAU,CAAC,OAAO;AAC1B,YAAA,SAAS,EAAE,UAAU,CAAC,eAAe,CAAC;gBAClC,MAAM,EAAE,OAAO,CAAC,MAAM;AACtB,gBAAA,MAAM,EAAEL,aAAY;AACpB,gBAAA,cAAc,EAAE,CAAG,EAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAE,CAAA;aAC9C,CAAC;AACF,YAAA,UAAU,EAAE,EAAE;AACd,YAAA,kBAAkB,EAAE,UAAU,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YACxE,WAAW,EAAE,UAAU,CAAC,kBAAkB;YAC1C,KAAK,EAAE,UAAU,CAAC,KAAK;AACvB,YAAA,MAAM,EAAEA,aAAY;SACvB,CAAC,CAAC,KAAK,EAAE,CAAC;;QAGX,MAAM,gBAAgB,GAAG,SAAS,CAAC;;;AAInC,QAAA,IAAI,QAAQ,CAAC;AACb,QAAA,MAAM,mBAAmB,GAAI,WAAmB,CAAC,QAAQ,CAAC;QAC1D,IAAI,mBAAmB,EAAE;AACrB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;YAC/F,QAAQ,GAAG,mBAAmB,CAAC;SAClC;aAAM;AACH,YAAA,IAAI;AACA,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;AACxF,gBAAA,QAAQ,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC;oBACtC,GAAG,IAAI,CAAC,QAAQ;oBAChB,eAAe,EAAE,OAAO,CAAC,WAAW;AACvC,iBAAA,CAAC,CAAC;aACN;YAAC,OAAO,KAAK,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAc,EAAE,8CAA8C,CAAC,CAAC;gBAClF,QAAQ,GAAG,EAAE,CAAC;aACjB;SACJ;;;;;;;AAQA,QAAA,UAAkB,CAAC,QAAQ,GAAG,QAAQ,CAAC;;QAGxC,MAAM,kBAAkB,GAAG,OAAO,GAAQ,EAAE,gBAAqB,EAAE,SAAe,KAAI;AAClF,YAAA,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,aAAa,KAAK,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC,CACvG,CAAC;YACF,OAAOM,OAAK,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C,SAAC,CAAC;;AAGF,QAAA,MAAM,aAAa,GAAmB;AAClC,YAAA,gBAAgB,EAAE,gBAAgB;AAClC,YAAA,cAAc,EAAE,kBAAkB;AAClC,YAAA,UAAU,EAAE,UAAU,CAAC,gBAAgB,EAAE;AACzC,YAAA,kBAAkB,EAAE,UAAU,CAAC,wBAAwB,EAAE;AACzD,YAAA,aAAa,EAAE,OAAO,GAAG,EAAE,GAAG,KAAK,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC;AACrE,YAAA,MAAM,EAAEN,aAAY;AACpB,YAAA,MAAM,EAAE,gBAAgB;SAC3B,CAAC;AAEF,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;AACnC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;KAChC;AAEO,IAAA,MAAM,eAAe,GAAA;AACzB,QAAA,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;;;;QAM5C,IAAI,CAAC,GAAG,GAAG,MAAMO,qBAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;;QAGvG,MAAM,aAAa,GAAGC,+BAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;QAGjD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,IAAK,EAAU,EAAE;YAC1D,cAAc,EAAE,CAAC,IAAY,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YAC3D,KAAK,EAAE,MAAK;gBACR,IAAI,aAAa,EAAE;oBACf,aAAa,CAAC,KAAK,EAAE,CAAC;iBACzB;;aAEJ;AACJ,SAAA,CAAC,CAAC;;AAGH,QAAA,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;;AAGvF,QAAAC,2BAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;;QAGjG,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;AAC7D,QAAA,MAAM,qBAAqB,GAAG,CAACC,SAAO,CAAC,eAAe,CAAC,CAAC;QAExD,IAAI,qBAAqB,EAAE;AACvB,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAIC,iDAAwB,CAClD,IAAI,CAAC,aAAa,EAClB,OAAO,CAAC,WAAW,EACnBC,+BAAgB,GAAG,IAAI,CAAC,GAAG,GAAG,aAAa,EAC3C,eAAe,CAClB,CAAC;SACL;;;;;AAMD,QAAA,MAAM,aAAa,GAAG,IAAIC,2BAAa,CACnC,IAAI,CAAC,GAAG,EACRD,+BAAgB,GAAG,IAAI,CAAC,GAAG,GAAG,aAAa,EAC3C,OAAO,CAAC,WAAW,EACnB,IAAI,CAAC,aAAa,EAClB,CAAC,qBAAqB,EACtB,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAC7D,IAAI,CAAC,UAAU,CAAC,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EACvE,IAAI,CAAC,UAAU,CAAC,cAAc,CACjC,CAAC;AAEF,QAAA,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;AAEjC,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAI;AACxC,YAAA,GAAG,CAAC,MAAM,CAAC,kCAAkC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACrE,YAAA,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,qBAAqB,CAAC,CAAC;AAClE,YAAA,GAAG,CAAC,MAAM,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;AAC/C,YAAA,GAAG,CAAC,MAAM,CACN,8BAA8B,EAC9B,6EAA6E,CAChF,CAAC;AACF,YAAA,IAAI,EAAE,CAAC;AACX,SAAC,CAAC,CAAC;KACN;AAED;;;;AAIG;AACI,IAAA,cAAc,CAAC,IAAY,EAAA;AAC9B,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;AAC3B,YAAA,MAAM,MAAM,GAAGA,+BAAgB,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;AAC5D,YAAA,MAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAK;AAC9B,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,0CAA0C,EAC1C,IAAI,EACJA,+BAAgB,GAAG,kBAAkB,GAAG,SAAS,CACpD,CAAC;AACF,gBAAA,OAAO,EAAE,CAAC;AACd,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACN;AAEM,IAAA,MAAM,KAAK,GAAA;QACd,IAAIV,gBAAM,CAAC,QAAQ,KAAK,aAAa,IAAI,IAAI,CAAC,mBAAmB,EAAE;;;YAG/D,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;;;AAIrG,YAAA,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;;;AAI1D,YAAA,IAAI;AACA,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBACvC,MAAMY,kBAAO,CACT,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,EAC3C,IAAI,CAAC,kBAAkB,CAAC,SAAS,EACjC,IAAI,CAAC,MAAM,CACd,CAAC;AACF,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACrC;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC;gBACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aAC9B;SACJ;aAAM;YACH,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;SAChD;;;AAID,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;AAClE,QAAA,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;;AAG1D,QAAA,IAAI;AACA,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACvC,MAAMA,kBAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3G,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACrC;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAU,EAAE,gCAAgC,CAAC,CAAC;SACnE;KACJ;AAEM,IAAA,MAAM,OAAO,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACzB,YAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;SACnC;;AAED,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE;AAChE,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;SAC3B;AACD,QAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE;AAC5B,YAAA,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;SAC9C;AACD,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,MAAM,EAAE;YACjC,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SAC/C;AACD,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE,MAAM,EAAE;YAClC,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SAChD;KACJ;AACJ"}
@@ -1,15 +1,8 @@
1
- import'reflect-metadata';import*as http from'http';import {logger}from'@cdm-logger/server';import {Feature}from'@common-stack/server-core';import {isEmpty,merge}from'lodash-es';import graphqlModule from'@common-stack/graphql-api/lib/module.js';import {expressApp}from'./servers/ExpressApp.mjs';import {GraphqlServer}from'./servers/GraphqlServer.mjs';import {config}from'./config/env-config.mjs';import {GatewaySchemaBuilder}from'./api/schema-builder.mjs';import {WebsocketMultiPathServer}from'./servers/WebsocketMultipathUpdate.mjs';import {migrate}from'./utils/migrations.mjs';import'graphql';import {SubGraphSchemaBuilder}from'./api/sub-graph-schema-builder.mjs';import {setupInngestFunctions}from'./inngest/setup.mjs';import'inversify';import'common/server';import'@common-stack/core';import {InfrastructureFactory}from'./infrastructure/infrastructure-factory.mjs';import'inngest';/* eslint-disable import/namespace */
1
+ import'reflect-metadata';import {createHttpServer,isUltimateEngine}from'./express-adapter.mjs';import {logger}from'@cdm-logger/server';import {Feature}from'@common-stack/server-core';import {isEmpty,merge}from'lodash-es';import graphqlModule from'@common-stack/graphql-api/lib/module.js';import {expressApp}from'./servers/ExpressApp.mjs';import {GraphqlServer}from'./servers/GraphqlServer.mjs';import {config}from'./config/env-config.mjs';import {GatewaySchemaBuilder}from'./api/schema-builder.mjs';import {WebsocketMultiPathServer}from'./servers/WebsocketMultipathUpdate.mjs';import {migrate}from'./utils/migrations.mjs';import'graphql';import {SubGraphSchemaBuilder}from'./api/sub-graph-schema-builder.mjs';import {setupInngestFunctions}from'./inngest/setup.mjs';import'inversify';import'common/server';import'@common-stack/core';import {InfrastructureFactory}from'./infrastructure/infrastructure-factory.mjs';import'inngest';/* eslint-disable import/namespace */
2
2
  /* eslint-disable import/no-unresolved */
3
3
  /* eslint-disable import/no-extraneous-dependencies */
4
4
  // version 08/25/2021
5
5
  const graphqlApiFeature = graphqlModule.default ?? graphqlModule;
6
- function startListening(port) {
7
- // eslint-disable-next-line @typescript-eslint/no-this-alias
8
- const server = this;
9
- return new Promise((resolve) => {
10
- server.listen(port, resolve);
11
- });
12
- }
13
6
  /**
14
7
  * Controls the lifecycle of the Application Server
15
8
  *
@@ -17,8 +10,16 @@ function startListening(port) {
17
10
  * @class StackServer
18
11
  */
19
12
  class MainStackServer {
20
- httpServer;
21
13
  app;
14
+ /**
15
+ * The underlying HTTP server.
16
+ * - ultimate-express: null (uWebSockets.js manages the server internally)
17
+ * - classic express: http.Server from http.createServer(app)
18
+ *
19
+ * Also provides backward-compatible startListening() and close() methods.
20
+ */
21
+ httpServer;
22
+ listenSocket;
22
23
  logger;
23
24
  infrastructureFactory;
24
25
  mainServiceContext;
@@ -79,8 +80,18 @@ class MainStackServer {
79
80
  await originalStart();
80
81
  // Use main container if microservice container is null (due to module reuse)
81
82
  const containerToUse = this.microserviceContext.container || this.mainServiceContext.container;
82
- await this.serverFeature.microservicePreStart(containerToUse);
83
- await this.serverFeature.microservicePostStart(containerToUse);
83
+ try {
84
+ await this.serverFeature.microservicePreStart(containerToUse);
85
+ }
86
+ catch (preStartErr) {
87
+ this.logger.error('Error in microservicePreStart hooks:', preStartErr);
88
+ }
89
+ try {
90
+ await this.serverFeature.microservicePostStart(containerToUse);
91
+ }
92
+ catch (postStartErr) {
93
+ this.logger.error('Error in microservicePostStart hooks:', postStartErr);
94
+ }
84
95
  };
85
96
  }
86
97
  async setupGraphQLSchema() {
@@ -124,6 +135,13 @@ class MainStackServer {
124
135
  services = {};
125
136
  }
126
137
  }
138
+ // Make services available on the Feature instance so phasedContextMiddleware
139
+ // (which reads `feature.services` to seed `req.services` in pre-beforeware)
140
+ // works regardless of whether services came from baseModules or
141
+ // allModules.createService(). Without this, the reuse path leaves
142
+ // allModules.services undefined and REST routes hit
143
+ // `req.services.accountService` undefined.
144
+ allModules.services = services;
127
145
  // Create service context function that uses the created services
128
146
  const serviceContextFunc = async (req, connectionParams, webSocket) => {
129
147
  const results = await Promise.all(allModules.createContextFunc.map((createContext) => createContext(req, connectionParams, webSocket)));
@@ -144,28 +162,37 @@ class MainStackServer {
144
162
  }
145
163
  async setupHttpServer() {
146
164
  const { context } = this.mainServiceContext;
147
- // Initialize HTTP server and Express app
148
- this.httpServer = http.createServer();
165
+ // Initialize Express app using the configured engine (ultimate-express or classic express)
166
+ // The adapter selects the engine based on EXPRESS_ENGINE env var.
149
167
  // Pass Redis client to expressApp so it can be attached at the very top of middleware stack
150
- this.app = await expressApp(this.allModules, this.serviceBroker, null, this.httpServer, context.redisClient);
168
+ this.app = await expressApp(this.allModules, this.serviceBroker, null, undefined, context.redisClient);
169
+ // Create HTTP server (null for ultimate-express, http.Server for classic express)
170
+ const rawHttpServer = createHttpServer(this.app);
171
+ // Provide backward-compatible httpServer with startListening() and close()
172
+ this.httpServer = Object.assign(rawHttpServer || {}, {
173
+ startListening: (port) => this.startListening(port),
174
+ close: () => {
175
+ if (rawHttpServer) {
176
+ rawHttpServer.close();
177
+ }
178
+ // ultimate-express handles cleanup internally
179
+ },
180
+ });
151
181
  // Register existing express middleware (Redis client middleware is already attached in expressApp)
152
182
  this.allModules.registerExpressMiddleware(this.app, this.mainServiceContext.container);
153
183
  // Setup Inngest functions
154
184
  setupInngestFunctions(this.allModules, this.app, this.mainServiceContext.container, this.logger);
155
- this.httpServer.startListening = startListening.bind(this.httpServer);
156
- this.httpServer.on('request', this.app);
157
- this.httpServer.on('close', () => {
158
- this.httpServer = undefined;
159
- });
160
185
  // Setup WebSocket if configured
161
186
  const customWebsocket = this.allModules.getWebsocketConfig();
162
187
  const customWebsocketEnable = !isEmpty(customWebsocket);
163
188
  if (customWebsocketEnable) {
164
- this.multiPathWebsocket = new WebsocketMultiPathServer(this.serviceBroker, context.redisClient, customWebsocket);
165
- this.httpServer = this.multiPathWebsocket.httpServerUpgrade(this.httpServer);
189
+ this.multiPathWebsocket = new WebsocketMultiPathServer(this.serviceBroker, context.redisClient, isUltimateEngine ? this.app : rawHttpServer, customWebsocket);
166
190
  }
167
191
  // Setup GraphQL server
168
- const graphqlServer = new GraphqlServer(this.app, this.httpServer, context.redisClient, this.serviceBroker, !customWebsocketEnable, this.allModules.apolloCacheKeyGenerator.bind(this.allModules), this.allModules.apolloInvalidateCacheKeyGenerator.bind(this.allModules), this.allModules.graphqlPlugins);
192
+ // Pass the appropriate server object based on engine:
193
+ // - ultimate-express: pass the app (WebSocket servers bind via { server: app })
194
+ // - classic express: pass the httpServer (WebSocket servers bind via { server: httpServer })
195
+ const graphqlServer = new GraphqlServer(this.app, isUltimateEngine ? this.app : rawHttpServer, context.redisClient, this.serviceBroker, !customWebsocketEnable, this.allModules.apolloCacheKeyGenerator.bind(this.allModules), this.allModules.apolloInvalidateCacheKeyGenerator.bind(this.allModules), this.allModules.graphqlPlugins);
169
196
  await graphqlServer.initialize();
170
197
  this.app.use('/graphql', (req, res, next) => {
171
198
  res.append('Access-Control-Allow-Credentials', JSON.stringify(true));
@@ -175,9 +202,39 @@ class MainStackServer {
175
202
  next();
176
203
  });
177
204
  }
205
+ /**
206
+ * Start listening on the given port.
207
+ * - ultimate-express: uses the built-in high-performance uWebSockets.js server
208
+ * - classic express: uses http.Server.listen()
209
+ */
210
+ startListening(port) {
211
+ return new Promise((resolve) => {
212
+ const server = isUltimateEngine ? this.app : this.httpServer;
213
+ server.listen(port, () => {
214
+ this.logger.info('Server listening on port %d (engine: %s)', port, isUltimateEngine ? 'ultimate-express' : 'express');
215
+ resolve();
216
+ });
217
+ });
218
+ }
178
219
  async start() {
179
220
  if (config.NODE_ENV === 'development' && this.microserviceContext) {
221
+ // Start both brokers in parallel to avoid blocking on service dependencies
222
+ // Services on one broker may depend on services on the other broker
180
223
  await Promise.all([this.mainServiceContext.broker.start(), this.microserviceContext.broker.start()]);
224
+ // Wait for service discovery between brokers
225
+ // The TCP transporter needs time to discover services from other nodes
226
+ await new Promise((resolve) => setTimeout(resolve, 2000));
227
+ // Now run migrations after both brokers are fully started
228
+ // This ensures all Moleculer services (like MailerService) are available
229
+ try {
230
+ this.logger.info('Starting Migration');
231
+ await migrate(this.mainServiceContext.context.mongoClient, this.mainServiceContext.container, this.logger);
232
+ this.logger.info('End Migration');
233
+ }
234
+ catch (e) {
235
+ this.logger.error('Error while running migrations', e);
236
+ this.logger.error(e.stack);
237
+ }
181
238
  }
182
239
  else {
183
240
  await this.mainServiceContext.broker.start();
@@ -200,8 +257,9 @@ class MainStackServer {
200
257
  if (this.multiPathWebsocket) {
201
258
  this.multiPathWebsocket.close();
202
259
  }
203
- if (this.httpServer) {
204
- await this.httpServer.close();
260
+ // Close HTTP server if using classic express
261
+ if (this.httpServer && typeof this.httpServer.close === 'function') {
262
+ this.httpServer.close();
205
263
  }
206
264
  if (this.infrastructureFactory) {
207
265
  await this.infrastructureFactory.cleanup();
@@ -1 +1 @@
1
- {"version":3,"file":"MainStackServer.mjs","sources":["../src/MainStackServer.ts"],"sourcesContent":[null],"names":["serverLogger"],"mappings":"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"}
1
+ {"version":3,"file":"MainStackServer.mjs","sources":["../src/MainStackServer.ts"],"sourcesContent":[null],"names":["serverLogger"],"mappings":"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"}
@@ -51,6 +51,9 @@ const config = envalid__namespace.cleanEnv(process.env,
51
51
  INNGEST_CLIENT_ID: str({ devDefault: '', default: '' }),
52
52
  // Stable application ID used for Inngest client registration across deployments
53
53
  APPLICATION_ID: str({ devDefault: '', default: '' }),
54
+ // HTTP server engine: 'ultimate' (uWebSockets.js, faster) or 'express' (classic Node.js http)
55
+ // ultimate-express is a drop-in replacement but requires app.listen() instead of http.createServer()
56
+ EXPRESS_ENGINE: str({ default: 'ultimate', choices: ['ultimate', 'express'], devDefault: 'ultimate' }),
54
57
  // WebSocket connection limits per pod instance
55
58
  // Recommended: ~20000 per 1Gi memory
56
59
  WEBSOCKET_MAX_CONNECTIONS: num({ default: 20000, devDefault: 10000 }),
@@ -1 +1 @@
1
- {"version":3,"file":"env-config.cjs","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":["envalid"],"mappings":"gZAEA,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAGA,kBAAO,CAAC;AAE5B,MAAA,MAAM,GAAGA,kBAAO,CAAC,QAAQ,CAClC,OAAO,CAAC,GAAG;AACX;AACA;IACI,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC;IACnG,QAAQ,EAAE,GAAG,EAAE;IACf,SAAS,EAAE,GAAG,EAAE;IAChB,OAAO,EAAE,GAAG,EAAE;IACd,gBAAgB,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAC9C,WAAW,EAAE,GAAG,EAAE;IAClB,WAAW,EAAE,GAAG,EAAE;IAClB,UAAU,EAAE,GAAG,EAAE;IACjB,WAAW,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACjC,mBAAmB,EAAE,IAAI,CAAC;AACtB,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,IAAI,EAAE,qEAAqE;KAC9E,CAAC;IACF,SAAS,EAAE,GAAG,EAAE;IAChB,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IACrC,iBAAiB,EAAE,IAAI,CAAC;AACpB,QAAA,UAAU,EAAE,oCAAoC;AAChD,QAAA,OAAO,EAAE,oCAAoC;KAChD,CAAC;IACF,SAAS,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;IAC3C,qBAAqB,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAClD,sBAAsB,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAClD,aAAa,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;IAEnD,SAAS,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;;;IAGtC,gBAAgB,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;AAClD,IAAA,SAAS,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;IACxE,cAAc,EAAE,IAAI,CAAC;AACjB,QAAA,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;AACpB,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,IAAI,EAAE,UAAU;SACnB,CAAC;AACF,QAAA,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC;AACvB,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,IAAI,EAAE,UAAU;SACnB,CAAC;AACF,QAAA,OAAO,EAAE,gDAAgD;KAC5D,CAAC;IACF,iBAAiB,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;IAC/C,mBAAmB,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACjD,IAAA,cAAc,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC1D,IAAA,mBAAmB,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AAC9E,IAAA,gBAAgB,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,uBAAuB,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAClG,IAAA,iBAAiB,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;AAEvD,IAAA,cAAc,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;;AAIpD,IAAA,yBAAyB,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AACrE,IAAA,uBAAuB,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;CACtE"}
1
+ {"version":3,"file":"env-config.cjs","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":["envalid"],"mappings":"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"}
@@ -51,6 +51,9 @@ const config = envalid.cleanEnv(process.env,
51
51
  INNGEST_CLIENT_ID: str({ devDefault: '', default: '' }),
52
52
  // Stable application ID used for Inngest client registration across deployments
53
53
  APPLICATION_ID: str({ devDefault: '', default: '' }),
54
+ // HTTP server engine: 'ultimate' (uWebSockets.js, faster) or 'express' (classic Node.js http)
55
+ // ultimate-express is a drop-in replacement but requires app.listen() instead of http.createServer()
56
+ EXPRESS_ENGINE: str({ default: 'ultimate', choices: ['ultimate', 'express'], devDefault: 'ultimate' }),
54
57
  // WebSocket connection limits per pod instance
55
58
  // Recommended: ~20000 per 1Gi memory
56
59
  WEBSOCKET_MAX_CONNECTIONS: num({ default: 20000, devDefault: 10000 }),
@@ -1 +1 @@
1
- {"version":3,"file":"env-config.mjs","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env-config.mjs","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var node_module=require('node:module');var_documentCurrentScript=typeofdocument!=='undefined'?document.currentScript:null;/**
2
+ * Express Engine Adapter
3
+ *
4
+ * Provides a unified interface for both Express 4 and ultimate-express (uWebSockets.js).
5
+ * The engine is selected at startup via the `EXPRESS_ENGINE` environment variable:
6
+ *
7
+ * - `EXPRESS_ENGINE=ultimate` (default) — uses ultimate-express + ultimate-ws for best performance
8
+ * - `EXPRESS_ENGINE=express` — uses classic Express 4 + ws for maximum compatibility
9
+ *
10
+ * All server modules import from this adapter instead of directly from 'express' or 'ultimate-express',
11
+ * so switching engines requires zero code changes — just set the env var.
12
+ *
13
+ * IMPORTANT: ultimate-express does NOT support http.createServer(). The server is started via app.listen().
14
+ * Classic express works with both http.createServer() and app.listen().
15
+ * This adapter normalizes both to use app.listen() for consistency.
16
+ */
17
+ // ─── Engine Detection ────────────────────────────────────────────────────────
18
+ // Read engine choice early (before envalid config is available).
19
+ // This module is loaded at import time, so we read directly from process.env.
20
+ const engine = (process.env.EXPRESS_ENGINE || 'ultimate').toLowerCase();
21
+ /** Whether the ultimate-express (uWebSockets.js) engine is active */
22
+ const isUltimateEngine = engine === 'ultimate';
23
+ const _require = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('express-adapter.cjs', document.baseURI).href)));
24
+ /**
25
+ * The express factory function — creates an Express application.
26
+ * When engine='ultimate', this is ultimate-express (uWS.js-backed).
27
+ * When engine='express', this is classic Express 4.
28
+ */
29
+ const express = isUltimateEngine
30
+ ? _require('ultimate-express')
31
+ : _require('express');
32
+ /**
33
+ * WebSocketServer class.
34
+ * When engine='ultimate', this is ultimate-ws (uWS.js-backed).
35
+ * When engine='express', this is the standard `ws` package.
36
+ */
37
+ const WebSocketServer = isUltimateEngine
38
+ ? _require('ultimate-ws').WebSocketServer
39
+ : _require('ws').WebSocketServer;
40
+ /**
41
+ * Create an HTTP server for the given express app.
42
+ *
43
+ * - ultimate-express: returns null (uWS manages the server internally via app.listen())
44
+ * - classic express: returns http.createServer(app)
45
+ */
46
+ function createHttpServer(app) {
47
+ if (isUltimateEngine) {
48
+ // ultimate-express manages its own uWS server; no http.Server is created
49
+ return null;
50
+ }
51
+ const http = _require('http');
52
+ return http.createServer(app);
53
+ }
54
+ /**
55
+ * Body parser middleware.
56
+ *
57
+ * - ultimate-express: uses built-in express.json() / express.urlencoded() for best perf
58
+ * - classic express: uses body-parser package (more battle-tested options)
59
+ */
60
+ function jsonParser(options) {
61
+ if (isUltimateEngine) {
62
+ return express.json(options);
63
+ }
64
+ const bodyParser = _require('body-parser');
65
+ return bodyParser.json(options);
66
+ }
67
+ function urlencodedParser(options) {
68
+ if (isUltimateEngine) {
69
+ return express.urlencoded(options);
70
+ }
71
+ const bodyParser = _require('body-parser');
72
+ return bodyParser.urlencoded(options);
73
+ }exports.WebSocketServer=WebSocketServer;exports.createHttpServer=createHttpServer;exports.default=express;exports.express=express;exports.isUltimateEngine=isUltimateEngine;exports.jsonParser=jsonParser;exports.urlencodedParser=urlencodedParser;//# sourceMappingURL=express-adapter.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"express-adapter.cjs","sources":["../src/express-adapter.ts"],"sourcesContent":[null],"names":["createRequire"],"mappings":"gMAAA;;;;;;;;;;;;;;;AAeG;AAQH;AACA;AACA;AACA,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,UAAU,EAAE,WAAW,EAAE,CAAC;AAExE;AACa,MAAA,gBAAgB,GAAY,MAAM,KAAK,WAAW;AAK/D,MAAM,QAAQ,GAAGA,yBAAa,CAAC,qQAAe,CAAC,CAAC;AAEhD;;;;AAIG;AACI,MAAM,OAAO,GAAG,gBAAgB;AACnC,MAAE,QAAQ,CAAC,kBAAkB,CAAC;AAC9B,MAAE,QAAQ,CAAC,SAAS,EAAE;AAI1B;;;;AAIG;AACI,MAAM,eAAe,GAAG,gBAAgB;AAC3C,MAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,eAAe;AACzC,MAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,gBAAgB;AAKrC;;;;;AAKG;AACG,SAAU,gBAAgB,CAAC,GAAY,EAAA;IACzC,IAAI,gBAAgB,EAAE;;AAElB,QAAA,OAAO,IAAI,CAAC;KACf;AACD,IAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC9B,IAAA,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC;AAuBD;;;;;AAKG;AACG,SAAU,UAAU,CAAC,OAAa,EAAA;IACpC,IAAI,gBAAgB,EAAE;AAClB,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAChC;AACD,IAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;AAC3C,IAAA,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAEK,SAAU,gBAAgB,CAAC,OAAa,EAAA;IAC1C,IAAI,gBAAgB,EAAE;AAClB,QAAA,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;KACtC;AACD,IAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;AAC3C,IAAA,OAAO,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC1C"}