Skip to content

Commit

Permalink
docs(core): create a glossary (nrwl#13821)
Browse files Browse the repository at this point in the history
  • Loading branch information
isaacplmann authored Dec 14, 2022
1 parent efa6ef0 commit a854660
Show file tree
Hide file tree
Showing 2 changed files with 191 additions and 0 deletions.
6 changes: 6 additions & 0 deletions docs/map.json
Original file line number Diff line number Diff line change
Expand Up @@ -541,6 +541,12 @@
"file": "",
"path": "/packages#devkit",
"isExternal": true
},
{
"name": "Glossary",
"id": "glossary",
"tags": [],
"file": "shared/reference/glossary"
}
]
},
Expand Down
185 changes: 185 additions & 0 deletions docs/shared/reference/glossary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
# 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](/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](/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](/core-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](/core-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](/more-concepts/customizing-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](/core-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 commmand that invokes a [task](#task) is `nx build my-app`.

> See: [Run Tasks](/core-features/run-tasks)
### Configurations

A set of preconfigured options for a [target](#target) that should be enabled all together. For example, a `production` configuration would set all the options needed for a build that could be deployed to production.

> See: [Use Executor Configurations](/recipes/executors/use-executor-configurations)
### Distributed Cache

A [cache](#cache) that can be shared between all developers using the repo and the CI system.

> See: [Share Your Cache](/core-features/share-your-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](/core-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: [Use Task Executors](/plugin-features/use-task-executors)
### Generator

A script that creates or modifies your code. Generators can be found in [plugins](#plugin).

> See: [Use Code Generators](/plugin-features/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](#project) graph which describes dependencies between projects and the [task](#task) graph which describes dependencies between tasks.

> See: [Explore the Graph](/core-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](/more-concepts/applications-and-libraries)
### Monolith

A large [application](#application) that is difficult to separate into smaller pieces.

> See: [Applications and Libraries](/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 [distributed caching](#distributed-cache) and [distributed task execution](#distributed-task-execution).

> See: [What is Nx Cloud?](/nx-cloud/intro/what-is-nx-cloud)
### 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](/plugin-features/create-your-own-plugin)
### 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](/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](/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](/core-features/run-tasks)
### Task

An invocation of a [target](#target) on a specific [project](#project).

> See: [Run Tasks](/core-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.

0 comments on commit a854660

Please sign in to comment.