Skip to main content

Terminology

TermDescription
ActionA node within the dependency graph that gets executed by the action pipeline.
Action pipelineExecutes actions from our dependency graph in topological order using a thread pool.
AffectedTouched by an explicit set of inputs or sources.
CacheFiles and outputs that are stored on the file system to provide incremental builds and increased performance.
CIContinuous integration. An environment where tests, builds, lints, etc, are continuously ran on every pull/merge request.
Dependency graphA directed acyclic graph (DAG) of targets to run and their dependencies.
DownstreamDependents or consumers of the item in question.
GeneratorGenerates code from pre-defined templates.
HashA unique SHA256 identifier that represents the result of a ran task.
HashingThe mechanism of generating a hash based on multiple sources: inputs, dependencies, configs, etc.
LTSLong-term support.
Dependency managerInstalls and manages dependencies for a specific tool (npm), using a manifest file (package.json).
PlatformAn internal concept representing the integration of a programming language (tool) within moon, and also the environment + language that a task runs in.
Primary targetThe target that was explicitly ran, and is the dependee of transitive targets.
ProjectAn collection of source and test files, configurations, a manifest and dependencies, and much more. Exists within a workspace
RevisionIn the context of a VCS: a branch, revision, commit, hash, or point in history.
RuntimeAn internal concept representing the platform + version of a tool.
TargetA label and reference to a task within the project, in the format of project:task.
TaskA command to run within the context of and configured in a project.
TemplateA collection of files that get scaffolded by a generator.
Template fileAn individual file within a template.
Template variableA value that is interpolated within a template file and its file system path.
TokenA value within task configuration that is substituted at runtime.
ToolA programming language or dependency manager within the toolchain.
ToolchainInstalls and manages tools within the workspace.
Transitive targetA target that is the dependency of the primary target, and must be ran before the primary.
TouchedA file that has been created, modified, deleted, or changed in any way.
UpstreamDependencies or producers of the item in question.
VCSVersion control system (like Git or SVN).
WorkspaceRoot of the moon installation, and houses one or many projects. Also refers to package manager workspaces (like Yarn).