@kaushverse/rabbitmq-core 1.1.2 → 1.1.4

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/index.d.ts CHANGED
@@ -36,9 +36,10 @@ declare function isRabbitConnected(): boolean;
36
36
 
37
37
  type BootstrapOptions = {
38
38
  serviceName: string;
39
+ start: () => void | Promise<void>;
39
40
  rabbit: RabbitConnectionOptions;
40
41
  };
41
- declare function bootstrap({ serviceName, rabbit }: BootstrapOptions): Promise<void>;
42
+ declare function bootstrap({ serviceName, rabbit, start, }: BootstrapOptions): Promise<void>;
42
43
 
43
44
  declare function publishMessage({ exchange, type, routingKey, message, headers, }: PublishOptions): Promise<void>;
44
45
 
package/dist/index.js CHANGED
@@ -164,23 +164,32 @@ var logger = {
164
164
  };
165
165
 
166
166
  // src/bootstrap.ts
167
- async function bootstrap({ serviceName: serviceName2, rabbit }) {
167
+ async function bootstrap({
168
+ serviceName: serviceName2,
169
+ rabbit,
170
+ start
171
+ }) {
168
172
  try {
169
173
  setLoggerService(serviceName2);
170
174
  setPrettyLogs(process.env.NODE_ENV !== "production");
171
175
  logger.info("\u{1F9E9} Bootstrap started");
172
176
  await connectRabbitMQ(rabbit);
173
177
  logger.info("\u{1F407} RabbitMQ connected");
178
+ await start();
179
+ logger.info(`\u{1F680} ${serviceName2} started successfully`);
174
180
  const shutdown = async (signal) => {
175
181
  logger.warn("\u{1F6D1} Shutdown signal received", { signal });
176
182
  await closeRabbitMQ();
183
+ logger.info("\u{1F512} RabbitMQ connection closed");
177
184
  logger.info("\u{1F44B} Service stopped gracefully");
178
185
  process.exit(0);
179
186
  };
180
187
  process.on("SIGINT", shutdown);
181
188
  process.on("SIGTERM", shutdown);
182
189
  } catch (err) {
183
- logger.error("\u{1F4A5} Bootstrap failed", { err });
190
+ logger.error("\u{1F4A5} Startup failed", {
191
+ error: err instanceof Error ? err : err
192
+ });
184
193
  process.exit(1);
185
194
  }
186
195
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaushverse/rabbitmq-core",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "description": "Reusable RabbitMQ (AMQP / AMQPS) core for Node.js & microservices",
5
5
  "author": "Kaushik (KaushVerse)",
6
6
  "license": "MIT",