Skip to content
Snippets Groups Projects
Select Git revision
  • c3e26eaea0d6fda317c467a8e39609d29a5c466f
  • dev default protected
  • release/1.9.1 protected
  • pini-1.8-docker
  • pini-sync-onlypeers
  • duniter-v2s-issue-123-industrialize-releases
  • feature/build-aarch64-nodejs16
  • release/1.8 protected
  • pini-docker
  • ci_tags
  • fix/1448/1.8/txs_not_stored
  • feature/node-20
  • fix/1441/node_summary_with_storage
  • fix/1442/improve_bma_tx_history
  • feature/wotwizard-1.8
  • release/1.9 protected
  • 1.7 protected
  • feature/docker-set-latest protected
  • feature/fast-docker-build-1.8.4
  • fast-docker-build protected
  • feature/dump-distance
  • v1.8.7 protected
  • v1.8.7-rc4 protected
  • v1.8.7-rc3 protected
  • v1.8.7-rc2 protected
  • v1.8.7-rc1 protected
  • v1.8.6 protected
  • v1.7.23 protected
  • v1.8.5 protected
  • v1.8.4 protected
  • v1.8.3 protected
  • v1.8.2 protected
  • v1.8.1 protected
  • v1.8.0 protected
  • v1.8.0-rc1 protected
  • v1.8.0-beta5 protected
  • v1.8.0-beta4 protected
  • v1.8.0-beta3 protected
  • v1.8.0-beta2 protected
  • v1.8.0-beta protected
  • v1.7.21 protected
41 results

index.ts

Blame
  • index.ts 16.47 KiB
    import {ExecuteCommand} from "./app/cli"
    import * as stream from "stream"
    import {Server} from "./server"
    import {ConfDTO} from "./app/lib/dto/ConfDTO"
    
    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 routerDependency    = require('./app/modules/router');
    const pluginDependency    = require('./app/modules/plugin');
    const proverDependency    = require('./app/modules/prover').ProverDependency;
    
    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) {
    
        const duniterModules = [];
        let duniterDeps:any = []
    
        try {
          const pjson = require(path.resolve('./package.json'))
          // Look for compliant packages
          const prodDeps = Object.keys(pjson.dependencies || {});
          const devDeps = Object.keys(pjson.devDependencies || {});
          duniterDeps = prodDeps.concat(devDeps)
        } catch (e) { /* duniter as a dependency might not be run from an NPM project */ }
    
        for(const dep of duniterDeps) {
          try {