Skip to main content

ProjectConfig

Configures information and tasks for a project. Docs: https://moonrepo.dev/docs/config/project

Index

Properties

$schema

$schema: string = ```ts 'https://moonrepo.dev/schemas/project.json' ```

dependsOn

dependsOn: ProjectDependsOn[]

Other projects that this project depends on.

env

env: Record<string, string>

A mapping of environment variables that will be set for all tasks within the project.

fileGroups

fileGroups: Record<string, string[]>

A mapping of group IDs to a list of file paths, globs, and environment variables, that can be referenced from tasks.

id

id: null | string

Overrides the ID within the project graph, as defined in the workspace projects setting.

language

language: string = ```ts 'unknown' ```

The primary programming language of the project.

owners

owners: OwnersConfig

Defines ownership of source code within the current project, by mapping file paths and globs to owners. An owner is either a user, team, or group.

platform

platform: null | PlatformType = null | PlatformType

The default platform for all tasks within the project, if their platform is unknown.

project

project: null | ProjectMetadataConfig

Expanded information about the project.

stack

The technology stack of the project, for categorizing.

tags

tags: string[]

A list of tags that this project blongs to, for categorizing, boundary enforcement, and task inheritance.

tasks

tasks: Record<string, TaskConfig>

A mapping of tasks by ID to parameters required for running the task.

toolchain

Overrides top-level toolchain settings, scoped to this project.

type

The type of project.

workspace

Overrides top-level workspace settings, scoped to this project.