How the Project Graph is Built
Nx creates a graph of all the dependencies between projects in your workspace using two sources of information:
- Package dependencies defined in the - package.jsonfile for each project.- If the - myapp/package.jsonfile has this dependency:- { "dependencies": { "@myorg/awesome-library": "*" } }- Then - my-appdepends on- awesome-library.- Note: We typically use - *for the dependency instead of a specific version because we want to depend on the version of the library as it currently exists in the repo.
- Typescript - importstatements referencing a particular project's path alias- For instance, if a file in - my-apphas this code:- import { something } from '@myorg/awesome-library';- Then - my-appdepends on- awesome-library- This can be turned on or off with the - analyzeSourceFilesflag.
- Manually created - implicitDependenciesin the project configuration file.- If your project configuration has this content: 
{
  "name": "myapp",
  "nx": {
    "implicitDependencies": ["some-api"]
  }
}
Then my-app depends on some-api
Related Documentation
Recipes
- Disable Graph Links Created from Analyzing Source Files
- Project Graph Plugins
- Export Project Graph
- Resolve Circular Dependencies