Select Git revision
-
Vincent Rousseau authoredVincent Rousseau authored
index.ts 18.43 KiB
import {ExecuteCommand} from "./app/cli"
import * as stream from "stream"
import {Server} from "./server"
import {ConfDTO} from "./app/lib/dto/ConfDTO"
import {ProverDependency} from "./app/modules/prover/index"
import {KeypairDependency} from "./app/modules/keypair/index"
import {CrawlerDependency} from "./app/modules/crawler/index"
import {BmaDependency} from "./app/modules/bma/index"
import {WS2PDependency} from "./app/modules/ws2p/index"
import {ProverConstants} from "./app/modules/prover/lib/constants"
import { ProxiesConf } from './app/lib/proxy';
import {RouterDependency} from "./app/modules/router"
const path = require('path');
const _ = require('underscore');
const directory = require('./app/lib/system/directory');
const constants = require('./app/lib/constants');
const logger = require('./app/lib/logger').NewLogger('duniter');
const configDependency = require('./app/modules/config');
const wizardDependency = require('./app/modules/wizard');
const resetDependency = require('./app/modules/reset');
const checkConfDependency = require('./app/modules/check-config');
const exportBcDependency = require('./app/modules/export-bc');
const reapplyDependency = require('./app/modules/reapply');
const revertDependency = require('./app/modules/revert');
const daemonDependency = require('./app/modules/daemon');
const pSignalDependency = require('./app/modules/peersignal');
const pluginDependency = require('./app/modules/plugin');
let sigintListening = false
// Trace errors
process.on('unhandledRejection', (reason) => {
logger.error('Unhandled rejection: ' + reason);
logger.error(reason);
});
class Stacks {
static todoOnRunDone:() => any = () => process.exit()
static async quickRun(...args:any[]) {
const deps = Array.from(args).map((f, index) => {
const canonicalPath = path.resolve(f)
return {
name: 'duniter-quick-module-' + index,
required: require(canonicalPath)
}
})
const stack = Stacks.autoStack(deps)
let res
try {
res = await stack.executeStack(Stacks.quickRunGetArgs())
} catch(e) {
console.error(e)
}
Stacks.onRunDone()
return res
}
static quickRunGetArgs() {
return process.argv.slice()
}
static onRunDone() {
return Stacks.todoOnRunDone()
}
static autoStack(priorityModules:any) {