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.


export declare class RushConfigurationProject 


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.


Property Modifiers Type Description
cyclicDependencyProjects   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().
downstreamDependencyProjects   string[] A list of projects within the Rush configuration which directly depend on this package.
isMainProject   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   ReadonlyArray<RushConfigurationProject> A map of projects within the Rush configuration which are directly depended on by this project
packageJson   IPackageJson The parsed NPM “package.json” file from projectFolder.
packageJsonEditor   PackageJsonEditor (BETA) A useful wrapper around the package.json file for making modifications
packageName   string The name of the NPM package. An error is reported if this name is not identical to packageJson.name.Example: @scope/MyProject
projectFolder   string The full path of the folder that contains the project to be built by Rush.Example: C:\MyRepo\libraries\my-project
projectRelativeFolder   string The relative path of the folder that contains the project to be built by Rush.Example: libraries\my-project
projectRushTempFolder   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
reviewCategory   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   RushConfiguration The Rush configuration for the monorepo that the project belongs to.
shouldPublish   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   boolean If true, then this project will be ignored by the “rush check” command. The default value is false.
tempProjectName   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   string The unscoped temporary project nameExample: my-project-2
versionPolicy   VersionPolicy | undefined (BETA) Version policy of the project
versionPolicyName   string | undefined (BETA) Name of the version policy used by this project.