mattermost/webapp/scripts/run.js
Harrison Healey 421fe4b5f0
MM-54325 Have web app build script return error codes on failure (#24723)
* MM-54325 Have web app build script return error codes on failure

* Make web app --runner option not return an error code
2023-10-10 11:17:24 -04:00

58 lines
1.4 KiB
JavaScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
/* eslint-disable no-console, no-process-env */
const chalk = require('chalk');
const concurrently = require('concurrently');
const {makeRunner} = require('./runner.js');
const {getExitCode, getPlatformCommands} = require('./utils.js');
async function watchAll(useRunner) {
if (!useRunner) {
console.log(chalk.inverse.bold('Watching web app and all subpackages...'));
}
const commands = [
{command: 'npm:run --workspace=channels', name: 'webapp', prefixColor: 'cyan'},
];
commands.push(...getPlatformCommands('run'));
let runner;
if (useRunner) {
runner = makeRunner(commands);
}
console.log('\n');
const {result, commands: runningCommands} = concurrently(
commands,
{
killOthers: 'failure',
outputStream: runner?.getOutputStream(),
},
);
runner?.addCloseListener(() => {
for (const command of runningCommands) {
command.kill('SIGINT');
}
});
let exitCode = 0;
try {
await result;
} catch (closeEvents) {
exitCode = getExitCode(closeEvents, 0);
}
return exitCode;
}
const useRunner = process.argv[2] === '--runner' || process.env.MM_USE_WEBAPP_RUNNER;
watchAll(useRunner).then((exitCode) => {
process.exit(exitCode);
});