diff --git a/docs/shared/concepts/how-caching-works.md b/docs/shared/concepts/how-caching-works.md
index 16b3c5aca3..45b352ec1b 100644
--- a/docs/shared/concepts/how-caching-works.md
+++ b/docs/shared/concepts/how-caching-works.md
@@ -22,7 +22,7 @@ locally, and then if it is missing, and if a remote cache is configured, it chec
If Nx finds the computation, Nx retrieves it and replays it. Nx places the right files in the right folders and
prints the terminal output. From the user’s point of view, the command ran the same, just a lot faster.
-
+
If Nx doesn’t find a corresponding computation hash, Nx runs the task, and after it completes, it takes the
outputs and the terminal logs and stores them locally (and if configured remotely as well). All of this happens
@@ -38,7 +38,7 @@ instance, Nx:
As your workspace grows, the task graph looks more like this:
-
+
All of these optimizations are crucial for making Nx usable for any non-trivial workspace. Only the minimum amount of
work happens. The rest is either left as is or restored from the cache.
diff --git a/docs/shared/core-features/explore-graph.md b/docs/shared/core-features/explore-graph.md
index 90d76ca468..e02c9ccb08 100644
--- a/docs/shared/core-features/explore-graph.md
+++ b/docs/shared/core-features/explore-graph.md
@@ -16,4 +16,4 @@ This will open a browser window with an interactive representation of the projec
Once the graph is displayed, you can click on an individual dependency link to find out what specific file(s) created that dependency.
-
+
diff --git a/docs/shared/mental-model.md b/docs/shared/mental-model.md
index fcede28269..5a62439038 100644
--- a/docs/shared/mental-model.md
+++ b/docs/shared/mental-model.md
@@ -9,7 +9,7 @@ with project graphs, task graphs, affected commands, computation hashing and cac
A project graph is used to reflect the source code in your repository and all the external dependencies that aren’t
authored in your repository, such as Webpack, React, Angular, and so forth.
-
+
With Nx, nodes in the project graph are defined in `project.json` files. You can manually define dependencies between
the
@@ -17,7 +17,7 @@ nodes, but you don’t have to do it very often. Nx analyzes files’ source cod
files, and others figuring out these dependencies for you. Nx also stores the cached project graph, so it only
reanalyzes the files you have changed.
-
+
Nx provides an updated graph after each analysis is done.
@@ -40,7 +40,7 @@ graph and then executes the tasks in that graph.
For instance `nx test lib` creates a task graph with a single node:
-
+
A task is an invocation of a target. If you invoke the same target twice, you create two tasks.
@@ -48,7 +48,7 @@ Nx uses the [project graph](#the-project-graph), but the task graph and project
aren’t directly connected. In the case above, `app1` and `app2` depend on `lib`, but
running `nx run-many --target=test --projects=app1,app2,lib`, the created task graph will look like this:
-
+
Even though the apps depend on `lib`, testing `app1` doesn’t depend on the testing `lib`. This means that the two tasks
can
@@ -72,7 +72,7 @@ Let’s look at the test target relying on its dependencies.
With this, running the same test command creates the following task graph:
-
+
This often makes more sense for builds, where to build `app1`, you want to build `lib` first. You can also define
similar
@@ -81,7 +81,7 @@ relationships between targets of the same project, including a test target that
A task graph can contain different targets, and those can run in parallel. For instance, as Nx is building `app2`, it
can be testing `app1` at the same time.
-
+
Nx also runs the tasks in the task graph in the right order. Nx executing tasks in parallel speeds up your overall
execution time.
@@ -106,7 +106,7 @@ that can be affected by this change. It then runs the `run-many` command with th
For instance, if my PR changes `lib`, and I then run `nx affected --target=test`, Nx figures out that `app1` and `app2`
depend on `lib`, so it will invoke `nx run-many --target=test --projects=app1,app2,lib`.
-
+
Nx analyzes the nature of the changes. For example, if you change the version of Next.js in the package.json, Nx knows
that `app2` cannot be affected by it, so it only retests `app1`.
@@ -126,7 +126,7 @@ By default, the computation hash for say `nx test app1` includes:
- [Runtime values provisioned by the user](/concepts/how-caching-works#runtime-hash-inputs)
- CLI Command flags
-
+
This behavior is customizable. For instance, lint checks may only depend on the source code of the project and global
configs. Builds can depend on the dts files of the compiled libs instead of their source.
@@ -137,7 +137,7 @@ and then if it is missing, and if a remote cache is configured, it checks remote
If Nx finds the computation, Nx retrieves it and replay it. Nx places the right files in the right folders and prints
the terminal output. So from the user’s point of view, the command ran the same, just a lot faster.
-
+
If Nx doesn’t find this computation, Nx runs the task, and after it completes, it takes the outputs and the terminal
output and stores it locally (and if configured remotely). All of this happens transparently, so you don’t have to worry
@@ -153,7 +153,7 @@ instance, Nx:
As your workspace grows, the task graph looks more like this:
-
+
All of these optimizations are crucial for making Nx usable for any non-trivial workspace. Only the minimum amount of
work happens. The rest is either left as is or restored from the cache.
@@ -177,7 +177,7 @@ terminal outputs.
After `nx affected --build` completes, the machine will have the build files and all the terminal outputs as if it ran
it locally.
-
+
## In summary
diff --git a/docs/shared/mental-model/affected.png b/docs/shared/mental-model/affected.png
deleted file mode 100644
index 33bc14b6d2..0000000000
Binary files a/docs/shared/mental-model/affected.png and /dev/null differ
diff --git a/docs/shared/mental-model/affected.svg b/docs/shared/mental-model/affected.svg
new file mode 100644
index 0000000000..e6784826a9
--- /dev/null
+++ b/docs/shared/mental-model/affected.svg
@@ -0,0 +1,20 @@
+
diff --git a/docs/shared/mental-model/cache.png b/docs/shared/mental-model/cache.png
deleted file mode 100644
index 09a64576e3..0000000000
Binary files a/docs/shared/mental-model/cache.png and /dev/null differ
diff --git a/docs/shared/mental-model/cache.svg b/docs/shared/mental-model/cache.svg
new file mode 100644
index 0000000000..3eb03646f7
--- /dev/null
+++ b/docs/shared/mental-model/cache.svg
@@ -0,0 +1,52 @@
+
diff --git a/docs/shared/mental-model/computation-hashing-v2.png b/docs/shared/mental-model/computation-hashing-v2.png
deleted file mode 100644
index 0cdd4d64c9..0000000000
Binary files a/docs/shared/mental-model/computation-hashing-v2.png and /dev/null differ
diff --git a/docs/shared/mental-model/computation-hashing.svg b/docs/shared/mental-model/computation-hashing.svg
new file mode 100644
index 0000000000..38bb8c5d4e
--- /dev/null
+++ b/docs/shared/mental-model/computation-hashing.svg
@@ -0,0 +1,32 @@
+
diff --git a/docs/shared/mental-model/dte.png b/docs/shared/mental-model/dte.png
deleted file mode 100644
index eec3627e7f..0000000000
Binary files a/docs/shared/mental-model/dte.png and /dev/null differ
diff --git a/docs/shared/mental-model/dte.svg b/docs/shared/mental-model/dte.svg
new file mode 100644
index 0000000000..5d6930e2fb
--- /dev/null
+++ b/docs/shared/mental-model/dte.svg
@@ -0,0 +1,28 @@
+
diff --git a/docs/shared/mental-model/project-graph-import.png b/docs/shared/mental-model/project-graph-import.png
deleted file mode 100644
index 9de9d73213..0000000000
Binary files a/docs/shared/mental-model/project-graph-import.png and /dev/null differ
diff --git a/docs/shared/mental-model/project-graph-updated.png b/docs/shared/mental-model/project-graph-updated.png
deleted file mode 100644
index e39968c6d7..0000000000
Binary files a/docs/shared/mental-model/project-graph-updated.png and /dev/null differ
diff --git a/docs/shared/mental-model/project-graph-updated.svg b/docs/shared/mental-model/project-graph-updated.svg
new file mode 100644
index 0000000000..94596dd8b6
--- /dev/null
+++ b/docs/shared/mental-model/project-graph-updated.svg
@@ -0,0 +1,32 @@
+
diff --git a/docs/shared/mental-model/project-graph.png b/docs/shared/mental-model/project-graph.png
deleted file mode 100644
index 8adccf0f81..0000000000
Binary files a/docs/shared/mental-model/project-graph.png and /dev/null differ
diff --git a/docs/shared/mental-model/project-graph.svg b/docs/shared/mental-model/project-graph.svg
new file mode 100644
index 0000000000..5c5db709fe
--- /dev/null
+++ b/docs/shared/mental-model/project-graph.svg
@@ -0,0 +1,13 @@
+
diff --git a/docs/shared/mental-model/task-graph-big.png b/docs/shared/mental-model/task-graph-big.png
deleted file mode 100644
index 3faf9ca22b..0000000000
Binary files a/docs/shared/mental-model/task-graph-big.png and /dev/null differ
diff --git a/docs/shared/mental-model/task-graph-big.svg b/docs/shared/mental-model/task-graph-big.svg
new file mode 100644
index 0000000000..9bd2fae575
--- /dev/null
+++ b/docs/shared/mental-model/task-graph-big.svg
@@ -0,0 +1,78 @@
+
diff --git a/docs/shared/mental-model/task-graph-creation.png b/docs/shared/mental-model/task-graph-creation.png
deleted file mode 100644
index 47c344a639..0000000000
Binary files a/docs/shared/mental-model/task-graph-creation.png and /dev/null differ
diff --git a/docs/shared/mental-model/task-graph-creation.svg b/docs/shared/mental-model/task-graph-creation.svg
new file mode 100644
index 0000000000..947da0bfdb
--- /dev/null
+++ b/docs/shared/mental-model/task-graph-creation.svg
@@ -0,0 +1,19 @@
+
diff --git a/docs/shared/mental-model/task-graph-execution.png b/docs/shared/mental-model/task-graph-execution.png
deleted file mode 100644
index a2b768558e..0000000000
Binary files a/docs/shared/mental-model/task-graph-execution.png and /dev/null differ
diff --git a/docs/shared/mental-model/task-graph-execution.svg b/docs/shared/mental-model/task-graph-execution.svg
new file mode 100644
index 0000000000..9ab66c6289
--- /dev/null
+++ b/docs/shared/mental-model/task-graph-execution.svg
@@ -0,0 +1,29 @@
+
diff --git a/docs/shared/mental-model/task-graph-run.png b/docs/shared/mental-model/task-graph-run.png
deleted file mode 100644
index bceb6ba649..0000000000
Binary files a/docs/shared/mental-model/task-graph-run.png and /dev/null differ
diff --git a/docs/shared/mental-model/task-graph-run.svg b/docs/shared/mental-model/task-graph-run.svg
new file mode 100644
index 0000000000..054b352578
--- /dev/null
+++ b/docs/shared/mental-model/task-graph-run.svg
@@ -0,0 +1,20 @@
+
diff --git a/docs/shared/mental-model/task-graph.png b/docs/shared/mental-model/task-graph.png
deleted file mode 100644
index a25c5bfc6f..0000000000
Binary files a/docs/shared/mental-model/task-graph.png and /dev/null differ
diff --git a/docs/shared/mental-model/task-graph.svg b/docs/shared/mental-model/task-graph.svg
new file mode 100644
index 0000000000..dfdb834fbf
--- /dev/null
+++ b/docs/shared/mental-model/task-graph.svg
@@ -0,0 +1,4 @@
+
diff --git a/docs/shared/using-nx/affected.md b/docs/shared/using-nx/affected.md
index b3d7213ac2..05c8e8741d 100644
--- a/docs/shared/using-nx/affected.md
+++ b/docs/shared/using-nx/affected.md
@@ -23,7 +23,7 @@ that can be affected by this change. It then runs the `run-many` command with th
For instance, if my PR changes `lib`, and I then run `nx affected --target=test`, Nx figures out that `app1` and `app2`
depend on `lib`, so it will invoke `nx run-many --target=test --projects=app1,app2,lib`.
-
+
Nx analyzes the nature of the changes. For example, if you change the version of Next.js in the package.json, Nx knows
that `app2` cannot be affected by it, so it only retests `app1`.
diff --git a/scripts/documentation/internal-link-checker.ts b/scripts/documentation/internal-link-checker.ts
index 5c1b8e867e..39a9af8ee0 100644
--- a/scripts/documentation/internal-link-checker.ts
+++ b/scripts/documentation/internal-link-checker.ts
@@ -24,6 +24,7 @@ function isNotImage(linkPath: string): boolean {
!linkPath.endsWith('.png') &&
!linkPath.endsWith('.gif') &&
!linkPath.endsWith('.webp') &&
+ !linkPath.endsWith('.svg') &&
!linkPath.endsWith('.avif')
);
}