fix(deployer): Installs and compiles additional .gbapps on server startup.

This commit is contained in:
Rodrigo Rodriguez 2018-12-26 18:57:25 -02:00
parent dd92032f62
commit cfe5cd2ddb

View file

@ -375,6 +375,19 @@ export class GBDeployer {
// Skips .gbapp inside deploy folder.
if (!e.startsWith('packages')) {
logger.info(`Deploying app: ${e}...`);
let folder = Path.join(e, 'node_modules');
if (!Fs.existsSync(folder)) {
logger.info(`Installing modules for ${e}...`);
child_process.execSync('npm install', { cwd: e });
}
folder = Path.join(e, 'dist');
if (!Fs.existsSync()) {
logger.info(`Compiling ${e}...`);
try {
child_process.execSync(Path.join(e, 'node_modules/.bin/tsc'), { cwd: e });
import(e)
.then(m => {
const p = new m.Package();
@ -384,9 +397,16 @@ export class GBDeployer {
appPackagesProcessed++;
})
.catch(err => {
logger.error(`Error deploying App (.gbapp): ${e}: ${err}`);
logger.error(`Error deploying .gbapp package: ${e}\n${err}`);
appPackagesProcessed++;
});
} catch (error) {
logger.error(`Error compiling .gbapp package ${e}:\n${error.stdout.toString()}`);
appPackagesProcessed++;
}
}
} else {
appPackagesProcessed++;
}