Rush StackShopBlogEvents
Skip to main content

Home > @microsoft/rush-lib > CobuildConfiguration

CobuildConfiguration class

This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.

Use this class to load and save the "common/config/rush/cobuild.json" config file. This file provides configuration options for the Rush Cobuild feature.

Signature:

export declare class CobuildConfiguration 

Properties

Property

Modifiers

Type

Description

cobuildContextId

readonly

string | undefined

(BETA) Cobuild context id

cobuildFeatureEnabled

readonly

boolean

(BETA) Indicates whether the cobuild feature is enabled. Typically it is enabled in the cobuild.json config file.

Note: The orchestrator (or local users) should always have to opt into running with cobuilds by providing a cobuild context id. Even if cobuilds are "enabled" as a feature, they don't actually turn on for that particular build unless the cobuild context id is provided as an non-empty string.

cobuildLeafProjectLogOnlyAllowed

readonly

boolean

(BETA) If true, Rush will automatically handle the leaf project with build cache "disabled" by writing to the cache in a special "log files only mode". This is useful when you want to use Cobuilds to improve the performance in CI validations and the leaf projects have not enabled cache.

cobuildRunnerId

readonly

string

(BETA) This is a name of the participating cobuild runner. It can be specified by the environment variable RUSH_COBUILD_RUNNER_ID. If it is not provided, a random id will be generated to identify the runner.

cobuildWithoutCacheAllowed

readonly

boolean

(BETA) If true, operations can opt into leveraging cobuilds without restoring from the build cache. Operations will need to us the allowCobuildWithoutCache flag to opt into this behavior per phase.

Methods

Method

Modifiers

Description

createLockProviderAsync(terminal)

(BETA)

destroyLockProviderAsync()

(BETA)

getCobuildConfigFilePath(rushConfiguration)

static

(BETA)

getCobuildLockProvider()

(BETA)

tryLoadAsync(terminal, rushConfiguration, rushSession)

static

(BETA) Attempts to load the cobuild.json data from the standard file path common/config/rush/cobuild.json. If the file has not been created yet, then undefined is returned.