UNPKG

@pact-toolbox/unplugin

Version:
47 lines (45 loc) 1.56 kB
import { resolveConfig } from "@pact-toolbox/config"; import { PactToolboxNetwork, createPactToolboxNetwork } from "@pact-toolbox/network"; import { logger } from "@pact-toolbox/utils"; //#region src/network-worker.ts async function startNetwork() { let isCleaningUp = false; let network; try { const resolvedConfig = await resolveConfig(); network = await createPactToolboxNetwork(resolvedConfig, { autoStart: false, cleanup: false }); function handleShutdown(signal) { if (isCleaningUp) return; isCleaningUp = true; logger.info(`\n${signal} received. Shutting down network...`); network?.stop().catch((error) => { logger.error(`Error during cleanup after failed start:`, error); }).finally(() => { process.exit(0); }); } process.on("SIGINT", () => handleShutdown("SIGINT")); process.on("SIGTERM", () => handleShutdown("SIGTERM")); process.on("exit", () => { logger.info("Pact network stopped successfully in a separate process."); }); await network.start(); logger.info("Pact network started successfully in a separate process."); } catch (error) { logger.error(`Failed to start network ${network?.id}:`, error); if (!isCleaningUp && network) network.stop().catch((cleanupError) => { logger.error(`Error during cleanup after failed start:`, cleanupError); }).finally(() => { process.exit(1); }); } } startNetwork().catch((error) => { logger.error(`Error during cleanup after failed start:`, error); process.exit(1); }); //#endregion //# sourceMappingURL=network-worker.js.map