Refactor event bus and queue system; detect cycles in DI realization and make
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
2022-01-26 19:37:54 -06:00
parent 506fb55c74
commit 6d1cf18680
69 changed files with 1673 additions and 720 deletions

View File

@@ -4,8 +4,8 @@ import {Inject, Injectable, InjectParam} from '../di'
import {Application} from '../lifecycle/Application'
import {Logging} from '../service/Logging'
import {NodeModule, ExtolloAwareNodeModule} from './types'
import {EventBus} from '../event/EventBus'
import {PackageDiscovered} from './PackageDiscovered'
import {Bus} from './bus'
/**
* A helper class for discovering and interacting with
@@ -17,7 +17,7 @@ export class NodeModules {
protected readonly logging!: Logging
@Inject()
protected readonly bus!: EventBus
protected readonly bus!: Bus
constructor(
@InjectParam(Application.NODE_MODULES_INJECTION)
@@ -102,7 +102,7 @@ export class NodeModules {
this.logging.info(`Auto-discovering package: ${key}`)
seen.push(key)
await this.bus.dispatch(new PackageDiscovered(packageJsonData, packageJson.clone()))
await this.bus.push(new PackageDiscovered(packageJsonData, packageJson.clone()))
const packageNodeModules = packageJson.concat('..', 'node_modules')
if ( await packageNodeModules.exists() && packageJsonData?.extollo?.recursiveDependencies?.discover ) {