Comments (8)
Not to pollute the comments, but +1 to the article that @udayrajMT linked. We have been using the internal.ts pattern with typeorm + type-graphql for months in production without any issue and we haven't run into a single circular dependency issue since.
from typeorm-typedi-extensions.
I would greatly appreciate this functionality as well!
from typeorm-typedi-extensions.
are there any workarounds for solving the circular dependency issue?
from typeorm-typedi-extensions.
Any updates on this issue?
from typeorm-typedi-extensions.
I ran into this as well. To resolve, I patched the inject repository by checking if the metadata exists by calling connection.hasMetadata
for the entity type. If not, I assume the entity is a function returning the entity type and I use the return value as entity type. It was a bit tricky to figure out if the func is an entity or a function returning an entity. Is there a better way to do this?
I don't know if I should spent time creating a pull request as #37 is also still open.
from typeorm-typedi-extensions.
Is this something you can advise on @MichalLytek as you've approved #37?
from typeorm-typedi-extensions.
I have some circular depended entities (User and Token) and when I injecting Repository and Repository in some class, User is undefined on the moment of the class construction.
Do you have every entity and controller in different files?
from typeorm-typedi-extensions.
are there any workarounds for solving the circular dependency issue?
@afiorito This article may help -
https://medium.com/visual-development/how-to-fix-nasty-circular-dependency-issues-once-and-for-all-in-javascript-typescript-a04c987cf0de
from typeorm-typedi-extensions.
Related Issues (20)
- feature: support request scoped decorators (use container instance provided by TypeDI) HOT 3
- question: getting error "Cannot get connection "default" from connection manager." HOT 6
- feature: use `TransactionManager` when inside Transactions HOT 4
- question: decorator parameters vs constructor ? HOT 2
- question: Error: Cannot get connection "default" from the connection manager. HOT 3
- fix: incorrect repository URL in package.json HOT 2
- Mistake in making error message HOT 1
- Better way of mocking the injected repository HOT 2
- Question: Scoped Containers and "default" connection HOT 8
- Question: Error inject repository after transpile HOT 3
- question: inject service in another service ? HOT 2
- name connection issue HOT 1
- error when using skip and take with relations!
- ParamTypeMissingError: Cannot get reflected type for a Repository
- fix: Using Typeorm DataSource and Typegraphql: Cannot get Connection with name \"default\" from the ConnectionManager. HOT 6
- Container Set HOT 2
- question: how support with typeorm ^0.3.17 HOT 1
- what am i doing wrong here?
- what am i doing wrong here? i have used useContainer in config class.
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 typeorm-typedi-extensions.