diff --git a/server/src/cli/build.js b/server/src/cli/build.js index 418e947..00e1906 100644 --- a/server/src/cli/build.js +++ b/server/src/cli/build.js @@ -17,7 +17,6 @@ buildImages() .then((result) => { logger.info(result) logger.info('Done!') - process.exit(0) }) .catch((err) => { logger.error(err) diff --git a/server/src/containers/docker.js b/server/src/containers/docker.js index af33e42..12003f6 100644 --- a/server/src/containers/docker.js +++ b/server/src/containers/docker.js @@ -109,31 +109,33 @@ export function buildQuestImage(questPath, questId) { if (err) { reject(err) } - response.on('data', (data) => { - // Process the data (this could be Docker build output) - try { - data - .toString() - .split('\n') - .map((line) => line.trim()) - .filter((line) => line !== '') - .forEach((line) => { - parseJSONOutput(line) - }) - } catch (error) { + if (response) { + response.on('data', (data) => { + // Process the data (this could be Docker build output) + try { + data + .toString() + .split('\n') + .map((line) => line.trim()) + .filter((line) => line !== '') + .forEach((line) => { + parseJSONOutput(line) + }) + } catch (error) { + reject(error) + } + }) + + response.on('end', () => { + logger.info(`Build completed for ${questId}`) + resolve(questId) + }) + + response.on('error', (error) => { + logger.error(`Build failed for ${questId}:`, error) reject(error) - } - }) - - response.on('end', () => { - logger.info(`Build completed for ${questId}`) - resolve(questId) - }) - - response.on('error', (error) => { - logger.error(`Build failed for ${questId}:`, error) - reject(error) - }) + }) + } } ) })