Glossary
This is a short list of Nx-specific terms that will help you understand the rest of the documentation.
Terms
Application
A project that can run on its own. Generally uses libraries.
Buildable Library
A library that has a build
target. Some libraries can be generated with a build
target using the --buildable
flag.
Cache
A mechanism for saving the output of a calculation so it can be replayed later without actually performing the calculation again.
See: Cache Task Results
Cache Hit
When the cache inputs for a task match an existing entry in the cache and the cache outputs can be replayed without actually running the task.
See: Cache Task Results
Cache Inputs
Everything that might change the output of a task. This may include source code, task options, environment variables and other settings determined at run time. These values are combined as a hash to serve as a key for an entry in the cache.
Cache Miss
When the cache inputs for a task do not match an existing entry in the cache and the task needs to be executed.
See: Cache Task Results
Cache Outputs
The terminal output and any file artifacts created by running a task. These values are stored in the cache to be replayed later.
See: Outputs Reference
Command
Anything you run in the terminal. An example command that invokes a task is nx build my-app
.
See: Run Tasks
Configurations
A set of preconfigured options for a target that should be enabled altogether. For example, a production
configuration would set all the options needed for a build that could be deployed to production.
Distributed Cache
A cache that can be shared between all developers using the repo and the CI system.
See: Share Your Cache
Distributed Task Execution
A system for running tasks in CI across multiple agent processes in the most efficient way possible.
Executor
A script that performs some action on your code. This can include building, linting, testing, serving and many other actions. A target configuration specifies an executor and a set of options. Executors can be found in plugins.
See: Use Task Executors
Generator
A script that creates or modifies your code. Generators can be found in plugins.
See: Use Code Generators
Graph
A computer science concept that consists of nodes connected by edges. In the Nx context, there are two graphs: the project graph which describes dependencies between projects and the task graph which describes dependencies between tasks.
See: Explore the Graph
Integrated Repository
A repository using Nx plugins to boost efficiency and ease of maintenance.
Library
A project that is used by applications or other libraries.
Monolith
A large application that is difficult to separate into smaller pieces.
Monorepo
A repository with multiple projects.
See: monorepo.tools
Nested Project
A project that is located in a sub-folder of another project. This was made possible in Nx 15.3.
Nx Cloud
A service that provides distributed caching and distributed task execution.
See: What is Nx Cloud?
Package
A project. It is sometimes published as an npm package.
Package-based Repository
A repository using Nx without plugins that prioritizes the independence of the separate packages. Nx is added to the repo without significantly affecting the file structure or build settings.
Plugin
A set of executors, generators and other code that extends the functionality of Nx. May be installed from a package manager like NPM or developed directly in the repository.
Polyrepo
Related projects spread across multiple repositories.
Project
The unit of code on which a task can be run. A project can be an application or a library.
Publishable Library
A library that has a publish
target. Some libraries can be generated with a publish
target using the --publishable
flag.
Root-Level Project
A project that has its own root folder at the root of the repository. Every other project in the repo is a nested project.
Standalone Repository
A repository with a single application at the root level. This set up is made possible in Nx 15.3.
Target
The name of an action taken on a project.
See: Run Tasks
Task
An invocation of a target on a specific project.
See: Run Tasks
Task Pipeline
The set of dependencies between tasks that ensure that tasks are run in the correct order.
Workspace
A git repository. An Nx workspace is a git repository using Nx.