Right now I'm having a problem. When i add relationship many-to-many it's not working. But before with relation one-to-many.
user.entity.ts
@Entity({ name: 'users' })
export class User implements IUser {
@PrimaryGeneratedColumn()
id: string;
@Column({ length: 25, nullable: true })
name: string;
@Column({ unique: true, length: 255 })
email: string;
@OneToMany(() => Message, (message) => message.user)
messages?: Message[];
@ManyToMany(() => Conversation, (conversations) => conversations.users)
@JoinTable({
name: 'user_conversation',
joinColumn: { name: 'user_id', referencedColumnName: 'id' },
inverseJoinColumn: { name: 'conversation_id' },
})
conversations: Conversation[];
}
in file conversation.entity.ts
@Entity({ name: 'conversations' })
export class Conversation implements IConversation {
@PrimaryGeneratedColumn()
id: string;
@Column({ name: 'title', nullable: true })
title: string;
@ManyToMany(() => User, (users) => users.conversations)
@JoinTable({
name: 'user_conversation',
joinColumn: { name: 'conversation_id', referencedColumnName: 'id' },
inverseJoinColumn: { name: 'user_id' },
})
users: User[];
}
my error :
import "reflect-metadata";
SyntaxError: Cannot use import statement outside a module
at wrapSafe (internal/modules/cjs/loader.js:1001:16) ....
When i add "type": "module" to package.json have error
ReferenceError: exports is not defined in ES module scope
This file is being treated as an ES module because it has a '.js' file extension and ....
I tried many ways but can't solve it, please help me.
Check your imports, it should be import {...} from 'typeorm'. Avoid imports from 'typeorm/browser'.