2019-12-30 12:51:11 -03:00
|
|
|
#!/usr/bin/env node
|
2019-07-23 14:41:39 +00:00
|
|
|
|
2022-11-18 22:39:14 -03:00
|
|
|
import Fs from 'fs';
|
|
|
|
import Path from 'path';
|
|
|
|
import { exec } from 'child_process';
|
2023-02-24 10:18:04 -03:00
|
|
|
import pjson from './package.json' assert { type: 'json' };
|
2019-07-23 14:41:39 +00:00
|
|
|
|
2020-01-08 17:52:46 -03:00
|
|
|
// Displays version of Node JS being used at runtime and others attributes.
|
|
|
|
|
2021-01-08 13:03:44 -03:00
|
|
|
|
2023-02-24 10:18:04 -03:00
|
|
|
console.log(``);
|
|
|
|
console.log(``);
|
|
|
|
console.log(``);
|
2023-02-24 13:31:40 -03:00
|
|
|
console.log(` ████ ██████ ███ ██ ██████ ██████ █████ ██ ██████ ███████ ████████ ████ ® `);
|
|
|
|
console.log(` ██ ███ ██ █ ██ ██ ██ ██ █ ██ ███ ███ ███ ██ ██████ ██ * * ██ ██ █ `);
|
|
|
|
console.log(` ██████ ██████ ██ ████ ██████ ██ ██ ██ ██ ██████ ██████ ███████ ██ ████ 3.0`);
|
2023-02-24 10:18:04 -03:00
|
|
|
console.log(``);
|
2023-02-24 13:31:40 -03:00
|
|
|
console.debug(`botserver@${pjson.version}, botlib@${pjson.dependencies.botlib}, botbuilder@${pjson.dependencies.botbuilder}, nodeJS: ${process.version}, platform: ${process.platform}, architecture: ${process.arch}.`);
|
2021-01-08 13:03:44 -03:00
|
|
|
var now = () => {
|
2023-02-24 10:18:04 -03:00
|
|
|
return new Date().toISOString().replace(/T/, ' ').replace(/\..+/, '') + ' UTC';
|
|
|
|
};
|
2022-11-18 22:39:14 -03:00
|
|
|
var __dirname = process.env.PWD;
|
2019-12-30 12:51:11 -03:00
|
|
|
try {
|
2023-02-24 10:18:04 -03:00
|
|
|
var run = () => {
|
|
|
|
import('./dist/src/app.js').then((gb)=> gb.GBServer.run());
|
|
|
|
};
|
|
|
|
var processDist = () => {
|
|
|
|
if (!Fs.existsSync('dist')) {
|
|
|
|
console.log(`${now()} - Compiling...`);
|
|
|
|
exec(Path.join(__dirname, 'node_modules/.bin/tsc'), (err, stdout, stderr) => {
|
|
|
|
if (err) {
|
|
|
|
console.error(err);
|
|
|
|
return;
|
2019-07-23 14:41:39 +00:00
|
|
|
}
|
2023-02-24 10:18:04 -03:00
|
|
|
run();
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
run();
|
|
|
|
}
|
|
|
|
};
|
2019-07-23 14:41:39 +00:00
|
|
|
|
2023-02-24 10:18:04 -03:00
|
|
|
// Installing modules if it has not been done yet.
|
2020-01-08 17:52:46 -03:00
|
|
|
|
2023-02-24 10:18:04 -03:00
|
|
|
if (!Fs.existsSync('node_modules')) {
|
|
|
|
console.log(`${now()} - Installing modules for the first time, please wait...`);
|
|
|
|
exec('npm install', (err, stdout, stderr) => {
|
|
|
|
if (err) {
|
|
|
|
console.error(err);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
processDist();
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
processDist();
|
|
|
|
}
|
2019-12-30 12:51:11 -03:00
|
|
|
} catch (e) {
|
2023-02-24 10:18:04 -03:00
|
|
|
console.log(e);
|
2019-07-23 14:41:39 +00:00
|
|
|
}
|