nx/docs/shared/concepts/how-project-graph-is-built.md
Isaac Mann e717660102
docs(nx-dev): diataxis restructure (#11649)
* docs(nxdev): restructure docs to diataxis style

* docs(nxdev): cleanup

* docs(nxdev): fix links

* chore(nxdev): format

* docs(nxdev): fix broken images

* docs(nxdev): fix links

* docs(nxdev): fix links

* docs(nxdev): fix links

* docs(nxdev): tweaks

* docs(nxdev): redirect rules

* docs(nxdev): fixes
2022-08-29 08:36:55 -04:00

861 B

How the Project Graph is Built

Nx creates a graph of all the dependencies between projects in your workspace using two sources of information:

  1. Typescript import statements referencing a particular project's path alias

    For instance, if a file in my-app has this code:

    import { something } from '@myorg/awesome-library';
    

    Then my-app depends on awesome-library

  2. Manually created implicitDependencies in the project configuration file.

    If your project configuration has this content:

{% tabs %} {% tab label="package.json" %}

{
  "name": "myapp",
  "nx": {
    "implicitDependencies": ["some-api"]
  }
}

{% /tab %} {% tab label="project.json" %}

{
  "root": "/libs/myapp",
  "implicitDependencies": ["some-api"]
}

{% /tab %} {% /tabs %}

Then my-app depends on some-api