Rush StackShopBlogEvents
Skip to main content

Home > @microsoft/rush-lib > RushConfigurationProject

RushConfigurationProject class

This represents the configuration of a project that is built by Rush, based on the Rush.json configuration file.

Signature:

export declare class RushConfigurationProject 

Remarks

The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the RushConfigurationProject class.

Properties

Property

Modifiers

Type

Description

configuredSubspaceName

readonly

string | undefined

(BETA) Returns the subspace name specified in the "subspaceName" field in rush.json. Note that this field may be undefined, if the default subspace is being used, and this field may be ignored if the subspaces feature is disabled.

consumingProjects

readonly

ReadonlySet<RushConfigurationProject>

The set of projects within the Rush configuration which declare this project as a dependency. Excludes those that declare this project as a cyclicDependencyProject.

cyclicDependencyProjects

readonly

Set<string>

A list of local projects that appear as devDependencies for this project, but cannot be locally linked because it would create a cyclic dependency; instead, the last published version will be installed in the Common folder.

These are package names that would be found by RushConfiguration.getProjectByName().

decoupledLocalDependencies

readonly

Set<string>

A list of local projects that appear as devDependencies for this project, but cannot be locally linked because it would create a cyclic dependency; instead, the last published version will be installed in the Common folder.

These are package names that would be found by RushConfiguration.getProjectByName().

dependencyProjects

readonly

ReadonlySet<RushConfigurationProject>

The set of projects within the Rush configuration which this project declares as dependencies.

downstreamDependencyProjects

readonly

string[]

An array of projects within the Rush configuration which directly depend on this package.

isMainProject

readonly

boolean

(BETA) Indicate whether this project is the main project for the related version policy.

False if the project is not for publishing. True if the project is individually versioned or if its lockstep version policy does not specify main project. False if the project is lockstepped and is not the main project for its version policy.

localDependencyProjects

readonly

ReadonlyArray<RushConfigurationProject>

An array of projects within the Rush configuration which this project declares as dependencies.

packageJson

readonly

IPackageJson

The parsed NPM "package.json" file from projectFolder.

packageJsonEditor

readonly

PackageJsonEditor

(BETA) A useful wrapper around the package.json file for making modifications

packageName

readonly

string

The name of the NPM package. An error is reported if this name is not identical to packageJson.name.

Example: @scope/MyProject

projectFolder

readonly

string

The full path of the folder that contains the project to be built by Rush.

Example: C:\MyRepo\libraries\my-project

projectRelativeFolder

readonly

string

The relative path of the folder that contains the project to be built by Rush.

Example: libraries/my-project

projectRushConfigFolder

readonly

string

The project-specific Rush configuration folder.

Example: C:\MyRepo\libraries\my-project\config\rush

projectRushTempFolder

readonly

string

The project-specific Rush temp folder. This folder is used to store Rush-specific temporary files.

Example: C:\MyRepo\libraries\my-project\.rush\temp

publishFolder

readonly

string

The full path of the folder that will get published by Rush.

reviewCategory

readonly

string | undefined

The review category name, or undefined if no category was assigned. This name must be one of the valid choices listed in RushConfiguration.reviewCategories.

rushConfiguration

readonly

RushConfiguration

The Rush configuration for the monorepo that the project belongs to.

shouldPublish

readonly

boolean

A flag which indicates whether changes to this project should be published. This controls whether or not the project would show up when running rush change, and whether or not it should be published during rush publish.

skipRushCheck

readonly

boolean

If true, then this project will be ignored by the "rush check" command. The default value is false.

subspace

readonly

Subspace

Returns the subspace name that a project belongs to. If subspaces is not enabled, returns the default subspace.

tags

readonly

ReadonlySet<string>

(BETA) An optional set of custom tags that can be used to select this project.

tempProjectName

readonly

string

The unique name for the temporary project that will be generated in the Common folder. For example, if the project name is @scope/MyProject, the temporary project name might be @rush-temp/MyProject-2.

Example: @rush-temp/MyProject-2

unscopedTempProjectName

readonly

string

The unscoped temporary project name

Example: my-project-2

versionPolicy

readonly

VersionPolicy | undefined

(BETA) Version policy of the project

versionPolicyName

readonly

string | undefined

(BETA) Name of the version policy used by this project.