diff --git a/docs/shared/computation-caching.md b/docs/shared/computation-caching.md index 55d65ce69f..209ad53b58 100644 --- a/docs/shared/computation-caching.md +++ b/docs/shared/computation-caching.md @@ -4,11 +4,15 @@ It's costly to rebuild and retest the same code over and over again. Nx uses a c **In order not to recompute something twice, we need two things:** -**1. We need to store the results of the computation.** -**2. We need to know when we are about to compute something we already computed before.** +1. We need to store the results of the computation. +2. We need to know when we are about to compute something we already computed before. There are three things that tell Nx if something has been computed before: +- [Source Code Cache Inputs](#source-code-cache-inputs) +- [Runtime Cache Inputs](#runtime-cache-inputs) +- [Args Cache Inputs](#args-cache-inputs) + ## Source Code Cache Inputs The result of building/testing an application or a library depends on the source code of that project and all the source codes of all the libraries it depends on (directly or indirectly). It also depends on the configuration files like `package.json`, `workspace.json`, `nx.json`, `tsconfig.base.json`, and `package-lock.json`. The list of these files isn't arbitrary. Nx can deduce most of them by analyzing our codebase. Few will have to be listed manually in the `implicitDependencies` property of `nx.json`.