@nestjs/core
Advanced tools
Comparing version 10.1.3 to 10.0.5
@@ -8,5 +8,5 @@ "use strict"; | ||
const ctx = context ? ` inside ${context}` : ``; | ||
super(`A circular dependency has been detected${ctx}. Please, make sure that each side of a bidirectional relationships are decorated with "forwardRef()". Note that circular relationships between custom providers (e.g., factories) are not supported since functions cannot be called more than once.`); | ||
super(`A circular dependency has been detected${ctx}. Please, make sure that each side of a bidirectional relationships are decorated with "forwardRef()".`); | ||
} | ||
} | ||
exports.CircularDependencyException = CircularDependencyException; |
@@ -29,10 +29,4 @@ import { DynamicModule, Provider } from '@nestjs/common'; | ||
getHttpAdapterHostRef(): import("..").HttpAdapterHost<import("..").AbstractHttpAdapter<any, any, any>>; | ||
addModule(metatype: ModuleMetatype, scope: ModuleScope): Promise<{ | ||
moduleRef: Module; | ||
inserted: boolean; | ||
} | undefined>; | ||
replaceModule(metatypeToReplace: ModuleMetatype, newMetatype: ModuleMetatype, scope: ModuleScope): Promise<{ | ||
moduleRef: Module; | ||
inserted: boolean; | ||
} | undefined>; | ||
addModule(metatype: ModuleMetatype, scope: ModuleScope): Promise<Module | undefined>; | ||
replaceModule(metatypeToReplace: ModuleMetatype, newMetatype: ModuleMetatype, scope: ModuleScope): Promise<Module | undefined>; | ||
private setModule; | ||
@@ -39,0 +33,0 @@ addDynamicMetadata(token: string, dynamicModuleMetadata: Partial<DynamicModule>, scope: Type<any>[]): Promise<void>; |
@@ -54,15 +54,9 @@ "use strict"; | ||
if (this.modules.has(token)) { | ||
return { | ||
moduleRef: this.modules.get(token), | ||
inserted: true, | ||
}; | ||
return this.modules.get(token); | ||
} | ||
return { | ||
moduleRef: await this.setModule({ | ||
token, | ||
type, | ||
dynamicMetadata, | ||
}, scope), | ||
inserted: true, | ||
}; | ||
return this.setModule({ | ||
token, | ||
type, | ||
dynamicMetadata, | ||
}, scope); | ||
} | ||
@@ -77,10 +71,7 @@ async replaceModule(metatypeToReplace, newMetatype, scope) { | ||
const { type, dynamicMetadata } = await this.moduleCompiler.compile(newMetatype); | ||
return { | ||
moduleRef: await this.setModule({ | ||
token, | ||
type, | ||
dynamicMetadata, | ||
}, scope), | ||
inserted: false, | ||
}; | ||
return this.setModule({ | ||
token, | ||
type, | ||
dynamicMetadata, | ||
}, scope); | ||
} | ||
@@ -87,0 +78,0 @@ async setModule({ token, dynamicMetadata, type }, scope) { |
@@ -5,3 +5,2 @@ import { InjectionToken } from '@nestjs/common'; | ||
import { Module } from './module'; | ||
import { SettlementSignal } from './settlement-signal'; | ||
/** | ||
@@ -55,3 +54,3 @@ * The type of an injectable dependency | ||
loadProvider(wrapper: InstanceWrapper<Injectable>, moduleRef: Module, contextId?: ContextId, inquirer?: InstanceWrapper): Promise<void>; | ||
applySettlementSignal<T>(instancePerContext: InstancePerContext<T>, host: InstanceWrapper<T>): SettlementSignal; | ||
applyDoneHook<T>(wrapper: InstancePerContext<T>): (err?: unknown) => void; | ||
resolveConstructorParams<T>(wrapper: InstanceWrapper<T>, moduleRef: Module, inject: InjectorDependency[], callback: (args: unknown[]) => void | Promise<void>, contextId?: ContextId, inquirer?: InstanceWrapper, parentInquirer?: InstanceWrapper): Promise<void>; | ||
@@ -58,0 +57,0 @@ getClassDependencies<T>(wrapper: InstanceWrapper<T>): [InjectorDependency[], number[]]; |
@@ -10,3 +10,2 @@ "use strict"; | ||
const perf_hooks_1 = require("perf_hooks"); | ||
const exceptions_1 = require("../errors/exceptions"); | ||
const runtime_exception_1 = require("../errors/exceptions/runtime.exception"); | ||
@@ -18,3 +17,2 @@ const undefined_dependency_exception_1 = require("../errors/exceptions/undefined-dependency.exception"); | ||
const instance_wrapper_1 = require("./instance-wrapper"); | ||
const settlement_signal_1 = require("./settlement-signal"); | ||
class Injector { | ||
@@ -43,6 +41,2 @@ constructor(options) { | ||
if (instanceHost.isPending) { | ||
const settlementSignal = wrapper.settlementSignal; | ||
if (inquirer && settlementSignal?.isCycle(inquirer.id)) { | ||
throw new exceptions_1.CircularDependencyException(`"${wrapper.name}"`); | ||
} | ||
return instanceHost.donePromise.then((err) => { | ||
@@ -54,3 +48,3 @@ if (err) { | ||
} | ||
const settlementSignal = this.applySettlementSignal(instanceHost, wrapper); | ||
const done = this.applyDoneHook(instanceHost); | ||
const token = wrapper.token || wrapper.name; | ||
@@ -63,3 +57,3 @@ const { inject } = wrapper; | ||
if (instanceHost.isResolved) { | ||
return settlementSignal.complete(); | ||
return done(); | ||
} | ||
@@ -73,3 +67,3 @@ try { | ||
wrapper.initTime = this.getNowTimestamp() - t0; | ||
settlementSignal.complete(); | ||
done(); | ||
}; | ||
@@ -79,3 +73,3 @@ await this.resolveConstructorParams(wrapper, moduleRef, inject, callback, contextId, wrapper, inquirer); | ||
catch (err) { | ||
settlementSignal.error(err); | ||
done(err); | ||
throw err; | ||
@@ -107,8 +101,9 @@ } | ||
} | ||
applySettlementSignal(instancePerContext, host) { | ||
const settlementSignal = new settlement_signal_1.SettlementSignal(); | ||
instancePerContext.donePromise = settlementSignal.asPromise(); | ||
instancePerContext.isPending = true; | ||
host.settlementSignal = settlementSignal; | ||
return settlementSignal; | ||
applyDoneHook(wrapper) { | ||
let done; | ||
wrapper.donePromise = new Promise((resolve, reject) => { | ||
done = resolve; | ||
}); | ||
wrapper.isPending = true; | ||
return done; | ||
} | ||
@@ -222,3 +217,2 @@ async resolveConstructorParams(wrapper, moduleRef, inject, callback, contextId = constants_2.STATIC_CONTEXT, inquirer, parentInquirer) { | ||
if (!instanceHost.isResolved && !instanceWrapper.forwardRef) { | ||
inquirer?.settlementSignal?.insertRef(instanceWrapper.id); | ||
await this.loadProvider(instanceWrapper, instanceWrapper.host ?? moduleRef, contextId, inquirer); | ||
@@ -297,3 +291,2 @@ } | ||
if (!instanceHost.isResolved && !instanceWrapperRef.forwardRef) { | ||
wrapper.settlementSignal?.insertRef(instanceWrapperRef.id); | ||
await this.loadProvider(instanceWrapperRef, relatedModule, contextId, wrapper); | ||
@@ -300,0 +293,0 @@ break; |
@@ -5,3 +5,2 @@ import { Provider, Scope, Type } from '@nestjs/common'; | ||
import { Module } from './module'; | ||
import { SettlementSignal } from './settlement-signal'; | ||
export declare const INSTANCE_METADATA_SYMBOL: unique symbol; | ||
@@ -47,3 +46,2 @@ export declare const INSTANCE_ID_SYMBOL: unique symbol; | ||
initTime?: number; | ||
settlementSignal?: SettlementSignal; | ||
private static logger; | ||
@@ -61,3 +59,2 @@ private readonly values; | ||
get isNotMetatype(): boolean; | ||
get isFactory(): boolean; | ||
get isTransient(): boolean; | ||
@@ -64,0 +61,0 @@ getInstanceByContextId(contextId: ContextId, inquirerId?: string): InstancePerContext<T>; |
@@ -36,7 +36,5 @@ "use strict"; | ||
get isNotMetatype() { | ||
return !this.metatype || this.isFactory; | ||
const isFactory = this.metatype && !(0, shared_utils_1.isNil)(this.inject); | ||
return !this.metatype || isFactory; | ||
} | ||
get isFactory() { | ||
return this.metatype && !(0, shared_utils_1.isNil)(this.inject); | ||
} | ||
get isTransient() { | ||
@@ -43,0 +41,0 @@ return this.scope === common_1.Scope.TRANSIENT; |
@@ -20,3 +20,2 @@ "use strict"; | ||
overrides: this.moduleOverrides, | ||
lazy: true, | ||
}); | ||
@@ -23,0 +22,0 @@ if (moduleInstances.length === 0) { |
@@ -91,5 +91,2 @@ "use strict"; | ||
async init() { | ||
if (this.isInitialized) { | ||
return this; | ||
} | ||
this.applyOptions(); | ||
@@ -96,0 +93,0 @@ await this.httpAdapter?.init(); |
@@ -76,7 +76,7 @@ "use strict"; | ||
async createApplicationContext(moduleCls, options) { | ||
const applicationConfig = new application_config_1.ApplicationConfig(); | ||
const container = new container_1.NestContainer(applicationConfig); | ||
const container = new container_1.NestContainer(); | ||
const graphInspector = this.createGraphInspector(options, container); | ||
this.setAbortOnError(options); | ||
this.registerLoggerConfiguration(options); | ||
const applicationConfig = undefined; | ||
await this.initialize(moduleCls, container, graphInspector, applicationConfig, options); | ||
@@ -83,0 +83,0 @@ const modules = container.getModules().values(); |
{ | ||
"name": "@nestjs/core", | ||
"version": "10.1.3", | ||
"version": "10.0.5", | ||
"description": "Nest - modern, fast, powerful node.js web framework (@core)", | ||
@@ -35,7 +35,7 @@ "author": "Kamil Mysliwiec", | ||
"path-to-regexp": "3.2.0", | ||
"tslib": "2.6.1", | ||
"tslib": "2.6.0", | ||
"uid": "2.0.2" | ||
}, | ||
"devDependencies": { | ||
"@nestjs/common": "10.1.3" | ||
"@nestjs/common": "10.0.5" | ||
}, | ||
@@ -42,0 +42,0 @@ "peerDependencies": { |
@@ -26,3 +26,3 @@ <p align="center"> | ||
Nest is a framework for building efficient, scalable <a href="https://nodejs.org" target="_blank">Node.js</a> server-side applications. It uses modern JavaScript, is built with <a href="https://www.typescriptlang.org" target="_blank">TypeScript</a> (preserves compatibility with pure JavaScript) and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Reactive Programming). | ||
Nest is a framework for building efficient, scalable <a href="http://nodejs.org" target="_blank">Node.js</a> server-side applications. It uses modern JavaScript, is built with <a href="http://www.typescriptlang.org" target="_blank">TypeScript</a> (preserves compatibility with pure JavaScript) and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Reactive Programming). | ||
@@ -62,4 +62,10 @@ <p>Under the hood, Nest makes use of <a href="https://expressjs.com/" target="_blank">Express</a>, but also, provides compatibility with a wide range of other libraries, like e.g. <a href="https://github.com/fastify/fastify" target="_blank">Fastify</a>, allowing for easy use of the myriad third-party plugins which are available.</p> | ||
<td><a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="200" valign="middle" /></a></td> | ||
<td><a href="https://www.redhat.com" target="_blank"><img src="https://nestjs.com/img/red-hat-logo.svg" width="200" valign="middle" /></a></td> | ||
<td> | ||
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td> | ||
<td> | ||
<a href="https://nx.dev" target="_blank"><img src="https://nestjs.com/img/nx-logo.png" height="45" valign="middle" /></a></td> | ||
<td> | ||
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="170" valign="middle" /></a></td> | ||
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="170" valign="middle" /></a></td><td> | ||
<a href="https://amplication.com/" target="_blank"><img src="https://nestjs.com/img/amplication-logo.svg" width="190" valign="middle" /></a></td> | ||
</tr></table> | ||
@@ -69,15 +75,8 @@ | ||
<table style="text-align:center;"><tr> | ||
<td><a href="https://www.redhat.com" target="_blank"><img src="https://nestjs.com/img/red-hat-logo.svg" width="200" valign="middle" /></a></td> | ||
<td> | ||
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td> | ||
<td> | ||
<a href="https://nx.dev" target="_blank"><img src="https://nestjs.com/img/nx-logo.png" height="45" valign="middle" /></a></td><td> | ||
<a href="https://amplication.com/" target="_blank"><img src="https://nestjs.com/img/amplication-logo.svg" width="190" valign="middle" /></a></td> | ||
<td> | ||
<table style="text-align:center;"><tr><td> | ||
<a href="https://weld.app/" target="_blank"><img src="https://nestjs.com/img/weld-logo.svg" width="140" valign="middle" /></a></td> | ||
<td> | ||
<a href="https://intrinsic.ventures/" target="_blank"><img src="https://nestjs.com/img/intrinisic-logo.png" width="210" valign="middle" /></a></td></tr><tr> | ||
<a href="https://intrinsic.ventures/" target="_blank"><img src="https://nestjs.com/img/intrinisic-logo.png" width="210" valign="middle" /></a></td> | ||
<td> | ||
<a href="https://jetbrains.com/" target="_blank"><img src="https://nestjs.com/img/jetbrains-logo.svg" width="90" valign="middle" /></a></td><td> | ||
<a href="https://jetbrains.com/" target="_blank"><img src="https://nestjs.com/img/jetbrains-logo.svg" width="110" valign="middle" /></a></td><td> | ||
<a href="https://snyk.co/nestjs" target="_blank"><img src="https://nestjs.com/img/snyk-logo-black.png" width="185" valign="middle" /></a></td><td> | ||
@@ -91,4 +90,13 @@ <a href="https://fuseautotech.com/" target="_blank"><img src="https://nestjs.com/img/fuse-logo.svg" width="105" valign="middle" /></a></td> | ||
<table style="text-align:center;"><tr> | ||
<td><a href="https://n.inc" target="_blank"><img src="https://nestjs.com/img/n-inc-logo.svg" width="120" valign="middle" /></td></tr> | ||
<table style="text-align:center;"><tr><td> | ||
<a href="https://neoteric.eu/" target="_blank"><img src="https://nestjs.com/img/neoteric-cut.png" width="120" valign="middle" /></a> </td><td> | ||
<a href="http://gojob.com" target="_blank"><img src="http://nestjs.com/img/gojob-logo.png" valign="middle" width="100" /></a> </td><td> | ||
<a href="https://www.myleodsc.com/" target="_blank"><img src="https://nestjs.com/img/myleo-logo.png" width="180" valign="middle" /></td><td> | ||
<a href="https://careers.meetdandy.com/?gh_src=063ba61e3us" target="_blank"><img src="https://nestjs.com/img/dandy-roles-logo.svg" width="150" valign="middle" /></td><td> | ||
<a href="https://www.castlecraft.in" target="_blank"><img src="https://nestjs.com/img/castlecraft-logo.png" width="150" valign="middle" /></td> | ||
<td><a href="https://www.tinystacks.com" target="_blank"><img src="https://nestjs.com/img/tinystacks-logo.png#1" width="140" valign="middle" /></td> | ||
<td><a href="https://n.inc" target="_blank"><img src="https://nestjs.com/img/n-inc-logo.svg" width="120" valign="middle" /></td></tr><tr> | ||
<td><a href="https://bilberrry.com/" target="_blank"><img src="https://nestjs.com/img/bilberrry-logo.svg" width="180" valign="middle" /></td> | ||
<td><a href="https://ipinfo.ai/" target="_blank"><img src="https://nestjs.com/img/ipinfo-logo.png" width="130" valign="middle" /></td> | ||
<td><a href="https://chax.at" target="_blank"><img src="https://nestjs.com/img/chaxat-logo.png" width="100" valign="middle" /></td></tr> | ||
</table> | ||
@@ -101,21 +109,38 @@ | ||
<a href="https://www.novologic.com/" target="_blank"><img src="https://nestjs.com/img/novologic.png" width="110" valign="middle" /></a> </td><td align="center" valign="middle"> | ||
<a href="https://ever.co/" target="_blank"><img src="https://nestjs.com/img/ever-logo.png" width="72" valign="middle" /></a> </td><td align="center" valign="middle"> | ||
<a href="https://blokt.com" target="_blank"><img src="https://nestjs.com/img/blokt-logo.png" width="120" valign="middle" /></a> </td><td align="center" valign="middle"> | ||
<a href="http://architectnow.net/" target="_blank"><img src="https://nestjs.com/img/architectnow.png" width="125" valign="middle" /></a> </td><td align="center" valign="middle"> | ||
<a href="https://quander.io/" target="_blank"><img src="https://nestjs.com/img/quander.png" width="100" valign="middle" /></a> </td></tr><tr><td align="center" valign="middle"> | ||
<a href="https://mantro.net/" target="_blank"><img src="https://nestjs.com/img/mantro-logo.svg" width="95" valign="middle" /></a> </td><td align="center" valign="middle"> | ||
<a href="https://triplebyte.com/" target="_blank"><img src="https://nestjs.com/img/triplebyte.png" width="107" valign="middle" /></a> </td><td align="center" valign="middle"> | ||
<a href="https://nearpod.com/" target="_blank"><img src="https://nestjs.com/img/nearpod-logo.svg" width="100" valign="middle" /></a> </td> | ||
<a href="https://reposit.co.uk/" target="_blank"><img src="https://nestjs.com/img/reposit-logo.png" width="71" valign="middle" /></a></td><td align="center" valign="middle"> | ||
<a href="https://nearpod.com/" target="_blank"><img src="https://nestjs.com/img/nearpod-logo.svg" width="100" valign="middle" /></a> </td><td align="center" valign="middle"> | ||
<a href="https://clay.global/" target="_blank"><img src="https://nestjs.com/img/clay-logo.svg" width="75" valign="middle" /></a> </td><td align="center" valign="middle"> | ||
<a href="https://firesticktricks.com" target="_blank"><img src="https://nestjs.com/img/firesticktricks-logo.png" width="120" valign="middle" /></a></td></tr><tr><td align="center" valign="middle"> | ||
<a href="https://www.codeguesser.co.uk" target="_blank"><img src="https://nestjs.com/img/codeguesser-logo.svg" width="120" valign="middle" /></a> </td><td align="center" valign="middle"> | ||
<a href="https://f-a.nz/" target="_blank"><img src="https://nestjs.com/img/franz.svg" width="80" valign="middle" /></a> </td><td align="center" valign="middle"> | ||
<a href="https://sparkfabrik.com/" target="_blank"><img src="https://nestjs.com/img/sparkfabrik-logo.png" width="120" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://www.thebigphonestore.co.uk/" target="_blank"><img src="https://nestjs.com/img/the-big-phone-store-logo.png" width="65" valign="middle" /></a></td> | ||
<td align="center" valign="middle"> | ||
<a href="https://genuinebee.com/" target="_blank"><img src="https://nestjs.com/img/genuinebee.svg" width="97" valign="middle" /></a> </td></tr><tr> | ||
<td align="center" valign="middle"><a href="https://sanyodigital.com/" target="_blank"><img src="https://nestjs.com/img/sanyo-digital.png" width="130" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://vpn-review.com/vpn-for-torrenting" target="_blank"><img src="https://nestjs.com/img/vpn-review-logo.png" width="85" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://lambda-it.ch/" target="_blank"><img src="https://nestjs.com/img/lambda-it-logo.svg" width="115" valign="middle" /></a></td> | ||
<td align="center" valign="middle"><a href="https://www.najlepszeplatformyforex.pl/blog/broker-xtb/" target="_blank"><img src="https://nestjs.com/img/npf-logo.jpg" width="200" valign="middle" /></a></td> | ||
<a href="https://genuinebee.com/" target="_blank"><img src="https://nestjs.com/img/genuinebee.svg" width="97" valign="middle" /></a> </td> | ||
<td align="center" valign="middle"><a href="https://sanyodigital.com/" target="_blank"><img src="https://nestjs.com/img/sanyo-digital.png" width="130" valign="middle" /></a></td></tr><tr><td align="center" valign="middle"><a href="https://vpn-review.com/vpn-for-torrenting" target="_blank"><img src="https://nestjs.com/img/vpn-review-logo.png" width="85" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://lambda-it.ch/" target="_blank"><img src="https://nestjs.com/img/lambda-it-logo.svg" width="115" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://pickwriters.com/top-10-translation-services" target="_blank"><img src="https://nestjs.com/img/pickwriters-logo.png" width="40" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://thewordpoint.com/services/localization" target="_blank"><img src="https://nestjs.com/img/thewordpoint-logo.png" width="40" valign="middle" /></a></td> | ||
<td align="center" valign="middle"><a href="https://meercode.io/" target="_blank"><img src="https://nestjs.com/img/meercode-logo.png" width="60" valign="middle" /></a></td> | ||
<td align="center" valign="middle"><a href="https://www.najlepszeplatformyforex.pl/blog/broker-xtb/" target="_blank"><img src="https://nestjs.com/img/npf-logo.jpg" width="200" valign="middle" /></a></td></tr><tr> | ||
<td align="center" valign="middle"><a href="https://thestandarddaily.com/" target="_blank"><img src="https://nestjs.com/img/the-standard-daily-logo.png" width="180" valign="middle" /></a></td> | ||
<td align="center" valign="middle"><a href="https://houseofangular.io/" target="_blank"><img src="https://nestjs.com/img/house-of-angular.png" width="100" valign="middle" /></a></td> | ||
<td align="center" valign="middle"><a href="https://rocketech.it/cases/?utm_source=google&utm_medium=badge&utm_campaign=nestjs" target="_blank"><img src="https://nestjs.com/img/rocketech-logo.svg" width="110" valign="middle" /></a></td> | ||
<td align="center" valign="middle"><a href="https://www.anonymistic.com/" target="_blank"><img src="https://nestjs.com/img/anonymistic-logo.png" width="125" valign="middle" /></a></td></tr><tr> | ||
<td align="center" valign="middle"><a href="https://www.bystored.com/" target="_blank"><img src="https://nestjs.com/img/stored-logo.svg" width="110" valign="middle" /></a></td> | ||
<td align="center" valign="middle"><a href="https://studyclerk.com/pay-for-research-paper" target="_blank"><img src="https://nestjs.com/img/studyclerk-logo.png" width="125" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://xyndata.com" target="_blank"><img src="https://nestjs.com/img/xyndata-logo.png" width="125" valign="middle" /></a></td></tr><tr> | ||
<td align="center" valign="middle"><a href="https://www.anonymistic.com/" target="_blank"><img src="https://nestjs.com/img/anonymistic-logo.png" width="125" valign="middle" /></a></td> | ||
<td align="center" valign="middle"><a href="https://www.naologic.com/" target="_blank"><img src="https://nestjs.com/img/naologic-logo.svg" width="125" valign="middle" /></a></td> | ||
<td align="center" valign="middle"><a href="https://messaged.com/" target="_blank"><img src="https://nestjs.com/img/messaged-logo.png" width="50" valign="middle" /></a></td> | ||
<td align="center" valign="middle"><a href="https://triplecore.io" target="_blank"><img src="https://nestjs.com/img/triplecore-logo.svg" width="50" valign="middle" /></a></td> | ||
<td align="center" valign="middle"><a href="https://thecasinowizard.com/bonuses/no-deposit-bonuses/" target="_blank"><img src="https://nestjs.com/img/casinowizard-logo.png" width="120" valign="middle" /></a></td> | ||
<td align="center" valign="middle"><a href="https://klqc.de" target="_blank"><img src="https://nestjs.com/img/klcqcl-logo.png" width="120" valign="middle" /></a></td> | ||
<td align="center" valign="middle"><a href="https://thecasinowizard.com/bonuses/no-deposit-bonuses/" target="_blank"><img src="https://nestjs.com/img/casinowizard-logo.png" width="120" valign="middle" /></a></td></tr><tr> | ||
<td align="center" valign="middle"><a href="https://polygon-software.ch/" target="_blank"><img src="https://nestjs.com/img/polygon-logo.svg" width="120" valign="middle" /></a></td> | ||
<td align="center" valign="middle"><a href="https://themobilereality.com/" target="_blank"><img src="https://nestjs.com/img/mobile-reality-logo.png" width="45" valign="middle" /></a></td> | ||
<td align="center" valign="middle"><a href="https://boringowl.io/" target="_blank"><img src="https://nestjs.com/img/boringowl-logo.svg" width="120" valign="middle" /></a></td> | ||
<td align="center" valign="middle"><a href="https://nordbot.app/" target="_blank"><img src="https://nestjs.com/img/nordbot-logo.png" width="120" valign="middle" /></a></td></tr><tr> | ||
<td align="center" valign="middle"><a href="https://doppio.sh/" target="_blank"><img src="https://nestjs.com/img/dopiosh-logo.png" width="50" valign="middle" /></a></td> | ||
<td align="center" valign="middle"><a href="https://www.mobilefactory.jp/" target="_blank"><img src="https://nestjs.com/img/mobilefactory-logo.png" width="100" valign="middle" /></a></td> | ||
<td align="center" valign="middle"><a href="https://nordbot.app/" target="_blank"><img src="https://nestjs.com/img/nordbot-logo.png" width="120" valign="middle" /></a></td> | ||
<td align="center" valign="middle"><a href="https://doppio.sh/" target="_blank"><img src="https://nestjs.com/img/dopiosh-logo.png" width="50" valign="middle" /></a></td></tr><tr> | ||
<td align="center" valign="middle"><a href="https://www.hingehealth.com/" target="_blank"><img src="https://nestjs.com/img/hinge-health-logo.svg" width="100" valign="middle" /></a></td> | ||
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/julienferand-logo.jpeg" width="65" valign="middle" /></a></td> | ||
<td align="center" valign="middle"><a href="https://www.tripoffice.com/" target="_blank"><img src="https://nestjs.com/img/tripoffice-logo.png" width="140" valign="middle" /></a></td> | ||
</tr></table> | ||
@@ -122,0 +147,0 @@ |
@@ -17,3 +17,2 @@ import { DynamicModule, ForwardReference, Provider } from '@nestjs/common'; | ||
overrides?: ModuleOverride[]; | ||
lazy?: boolean; | ||
} | ||
@@ -30,7 +29,4 @@ export declare class DependenciesScanner { | ||
}): Promise<void>; | ||
scanForModules({ moduleDefinition, lazy, scope, ctxRegistry, overrides, }: ModulesScanParameters): Promise<Module[]>; | ||
insertModule(moduleDefinition: any, scope: Type<unknown>[]): Promise<{ | ||
moduleRef: Module; | ||
inserted: boolean; | ||
} | undefined>; | ||
scanForModules({ moduleDefinition, scope, ctxRegistry, overrides, }: ModulesScanParameters): Promise<Module[]>; | ||
insertModule(moduleDefinition: any, scope: Type<unknown>[]): Promise<Module | undefined>; | ||
scanModulesForDependencies(modules?: Map<string, Module>): Promise<void>; | ||
@@ -37,0 +33,0 @@ reflectImports(module: Type<unknown>, token: string, context: string): Promise<void>; |
@@ -36,5 +36,4 @@ "use strict"; | ||
} | ||
async scanForModules({ moduleDefinition, lazy, scope = [], ctxRegistry = [], overrides = [], }) { | ||
const { moduleRef: moduleInstance, inserted: moduleInserted } = (await this.insertOrOverrideModule(moduleDefinition, overrides, scope)) ?? | ||
{}; | ||
async scanForModules({ moduleDefinition, scope = [], ctxRegistry = [], overrides = [], }) { | ||
const moduleInstance = await this.insertOrOverrideModule(moduleDefinition, overrides, scope); | ||
moduleDefinition = | ||
@@ -74,3 +73,2 @@ this.getOverrideModuleByModule(moduleDefinition, overrides)?.newModule ?? | ||
overrides, | ||
lazy, | ||
}); | ||
@@ -82,5 +80,2 @@ registeredModuleRefs = registeredModuleRefs.concat(moduleRefs); | ||
} | ||
if (lazy && moduleInserted) { | ||
this.container.bindGlobalsToImports(moduleInstance); | ||
} | ||
return [moduleInstance].concat(registeredModuleRefs); | ||
@@ -87,0 +82,0 @@ } |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
503356
156
345
10813
+ Addedtslib@2.6.0(transitive)
- Removedtslib@2.6.1(transitive)
Updatedtslib@2.6.0