Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error: Cannot find module 'src/entities/Post'

so i am creating a graphQL server using type-graph and mikro-orm everything was fine till i got this error that says => Error: Cannot find module 'src/entities/Post' and that module exists as you can see in this picture: folder structure

and this is what the error looks like int the terminal: error in the terminal

by the way i am using script called watch: "tsc -w" to convert typescript into javascript.

this is a code example of my postResolver:

import { Post } from './src/entities/Post';
import { MyContext } from 'src/types';
import {Ctx, Query, Resolver} from 'type-graphql';

@Resolver()
export class postResolver {
    @Query(()=> [Post])
    posts(@Ctx() {em}: MyContext) : Promise<Post[]>{
        return em.find(Post, {})
    }
}
it says that the module ./src/entities/Post does not exist while it exists and i really don't know why
like image 425
John Avatar asked Aug 02 '26 08:08

John


1 Answers

Fastest way to solve it would be using relative imports (import { Post } from '../entities/Post') instead of absolute like you did.

Another way to satisfy node to keep using absolute paths, is adding the following to your tsconfig file. Note that you will need to add a path for every directory at 'src' level, you want to import.

"compilerOptions": {
  "baseUrl": "src",
  "paths": {
     "src/*": ["src/*"],
     "entities/*": ["src/entities/*"],
     "resolvers/*": ["src/resolvers/*"]
     ...
  },
  ...
}

Or you could use a package like this one installed to your devDependecies

like image 80
Art Avatar answered Aug 05 '26 06:08

Art



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!