nx/docs/shared/reference/glossary.md
Isaac Mann 61436a64ef
docs(core): inferred targets (#21167)
Co-authored-by: Katerina Skroumpelou <mandarini@users.noreply.github.com>
Co-authored-by: Colum Ferry <cferry09@gmail.com>
Co-authored-by: Emily Xiong <xiongemi@gmail.com>
Co-authored-by: Nicholas Cunningham <ndcunningham@gmail.com>
Co-authored-by: Jason Jean <jasonjean1993@gmail.com>
Co-authored-by: Victor Savkin <mail@vsavkin.com>
Co-authored-by: Jack Hsu <jack.hsu@gmail.com>
2024-02-03 00:14:05 -05:00

186 lines
6.6 KiB
Markdown

# Glossary
This is a short list of Nx-specific terms that will help you understand the rest of the documentation.
## Terms
### Application
A [project](#project) that can run on its own. Generally uses [libraries](#library).
> See: [Applications and Libraries](/concepts/more-concepts/applications-and-libraries)
### Buildable Library
A [library](#library) that has a `build` [target](#target). Some libraries can be generated with a `build` target using the `--buildable` flag.
> See: [Publishable and Buildable Nx Libraries](/concepts/more-concepts/buildable-and-publishable-libraries)
### 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](/features/cache-task-results)
### Cache Hit
When the [cache inputs](#cache-inputs) for a [task](#task) match an existing entry in the [cache](#cache) and the [cache outputs](#cache-outputs) can be replayed without actually running the task.
> See: [Cache Task Results](/features/cache-task-results)
### Cache Inputs
Everything that might change the output of a [task](#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).
> See: [Customizing Inputs and Named Inputs](/recipes/running-tasks/configure-inputs)
### Cache Miss
When the [cache inputs](#cache-inputs) for a [task](#task) do not match an existing entry in the [cache](#cache) and the task needs to be executed.
> See: [Cache Task Results](/features/cache-task-results)
### Cache Outputs
The terminal output and any file artifacts created by running a [task](#task). These values are stored in the [cache](#cache) to be replayed later.
> See: [Outputs Reference](/reference/project-configuration#outputs)
### Command
Anything you run in the terminal. An example command that invokes a [task](#task) is `nx build my-app`.
> See: [Run Tasks](/features/run-tasks)
### Configurations
A set of preconfigured options for a [target](#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.
> See: [Use Task Configurations](/concepts/executors-and-configurations#use-task-configurations)
### Remote Cache
A [cache](#cache) that can be shared between all developers using the repo and the CI system.
> See: [Share Your Cache](/ci/features/remote-cache)
### Distributed Task Execution
A system for running [tasks](#task) in CI across multiple agent processes in the most efficient way possible.
> See: [Distribute Task Execution](/ci/features/distribute-task-execution)
### Executor
A script that performs some action on your code. This can include building, linting, testing, serving and many other actions. A [target](#target) configuration specifies an executor and a set of options. Executors can be found in [plugins](#plugin).
> See: [Executors and Configurations](/concepts/executors-and-configurations)
### Generator
A script that creates or modifies your code. Generators can be found in [plugins](#plugin).
> See: [Use Code Generators](/features/generate-code)
### Graph
A computer science concept that consists of nodes connected by edges. In the Nx context, there are two graphs: the [project](#project) graph which describes dependencies between projects and the [task](#task) graph which describes dependencies between tasks.
> See: [Explore the Graph](/features/explore-graph)
### Integrated Repository
A repository using Nx [plugins](#plugin) to boost efficiency and ease of maintenance.
> See: [Integrated Repos vs. Package-Based Repos](/concepts/integrated-vs-package-based)
### Library
A [project](#project) that is used by [applications](#application) or other [libraries](#library).
> See: [Applications and Libraries](/concepts/more-concepts/applications-and-libraries)
### Monolith
A large [application](#application) that is difficult to separate into smaller pieces.
> See: [Applications and Libraries](/concepts/more-concepts/applications-and-libraries)
### Monorepo
A repository with multiple [projects](#project).
> See: [monorepo.tools](https://monorepo.tools)
### Nested Project
A [project](#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 [remote caching](#remote-cache) and [distributed task execution](#distributed-task-execution).
> See: [CI with Nx](/ci/intro/ci-with-nx)
### Package
A [project](#project). It is sometimes published as an npm package.
### Package-based Repository
A repository using Nx without [plugins](#plugin) that prioritizes the independence of the separate [packages](#package). Nx is added to the repo without significantly affecting the file structure or build settings.
> See: [Integrated Repos vs. Package-Based Repos](/concepts/integrated-vs-package-based)
### Plugin
A set of [executors](#executor), [generators](#generator) and other code that extends the functionality of Nx. May be installed from a package manager like NPM or developed directly in the repository.
> See: [Create Your Own Plugin](/extending-nx/intro/getting-started)
### Polyrepo
Related [projects](#project) spread across multiple repositories.
### Project
The unit of code on which a [task](#task) can be run. A project can be an [application](#application) or a [library](#library).
> See: [Applications and Libraries](/concepts/more-concepts/applications-and-libraries)
### Publishable Library
A [library](#library) that has a `publish` [target](#target). Some libraries can be generated with a `publish` target using the `--publishable` flag.
> See: [Publishable and Buildable Nx Libraries](/concepts/more-concepts/buildable-and-publishable-libraries)
### Root-Level Project
A [project](#project) that has its own root folder at the root of the repository. Every other project in the repo is a [nested project](#nested-project).
### Standalone Repository
A repository with a single [application](#application) at the [root level](#root-level-project). This set up is made possible in Nx 15.3.
### Target
The name of an action taken on a [project](#project).
> See: [Run Tasks](/features/run-tasks)
### Task
An invocation of a [target](#target) on a specific [project](#project).
> See: [Run Tasks](/features/run-tasks)
### Task Pipeline
The set of dependencies between [tasks](#task) that ensure that tasks are run in the correct order.
> See: [Task Pipeline Configuration](/concepts/task-pipeline-configuration)
### Workspace
A git repository. An Nx workspace is a git repository using Nx.