Comments (4)
We've came up with a solution. We created a new class decorator, which overrides the default @Injectable() decorator.
import { Injectable, InjectableOptions, Scope } from '@nestjs/common';
import { basename } from 'path';
export function InjectableCliAware(options?: InjectableOptions): ClassDecorator {
if (basename(process.argv[1]) === 'console.js' && options?.scope === Scope.REQUEST) {
options.scope = Scope.DEFAULT;
}
return Injectable(options);
}
So I think, we can close this issue?! :)
from nestjs-console.
You can't inject scoped service in a non scoped service.
@Injectable({ scope: Scope.REQUEST }) means your service only exists when a request is created.
Scoped thing does not make sense in a headless app.
See https://docs.nestjs.com/fundamentals/injection-scopes#scope-hierarchy
Scope bubbles up the injection chain. A controller that depends on a request-scoped provider will, itself, be request-scoped.
from nestjs-console.
Hello @Rmannn,
thank you for your quick reply. :)
Sooo, the only solution for us would be to duplicate the request scoped service to be not request scoped (we can not simply drop the request scoping, as this service holds a request based cache (for the GraphQL- and REST-contexts).
As already said, we are aware that this kind of thing doesn't make much sense for a headless app, but we wanted to reuse the service to reduce code duplication.
Do you have another solution in mind?
from nestjs-console.
Nice solution!
from nestjs-console.
Related Issues (20)
- Update commander peerdependencies version HOT 2
- Examples doesn't work? HOT 2
- Documentation update for using opts HOT 5
- Support in nest v8 HOT 3
- _actionResults is undefined HOT 1
- Unable to add a global option HOT 2
- Unable to register commands in nestjs-console HOT 4
- CLI will _always_ throw an error even with empty promise handler HOT 3
- Can't read CLI options to configure the database HOT 3
- TypeError: parent.addCommand is not a function HOT 5
- Task Not Exiting HOT 2
- Support nestjs@9 HOT 2
- use enableShutdownHooks with nest-console
- ERROR [ExceptionHandler] undefined HOT 1
- Process.env issue HOT 3
- How to pass array of strings? HOT 1
- Example is slow? HOT 2
- Support for NestJs v10 HOT 2
- Module '"nestjs-console"' has no exported member 'createSpinner'. HOT 5
- What does this project do differently compared to nest-commander ? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nestjs-console.