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.

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.


consumingProjectsReadonlySet<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.
cyclicDependencyProjectsSet<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().
dependencyProjectsReadonlySet<RushConfigurationProject >The set of projects within the Rush configuration which this project declares as dependencies.
downstreamDependencyProjectsstring[]An array of projects within the Rush configuration which directly depend on this package.
isMainProjectboolean(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.
localDependencyProjectsReadonlyArray<RushConfigurationProject >An array of projects within the Rush configuration which this project declares as dependencies.
packageJsonIPackageJsonThe parsed NPM "package.json" file from projectFolder.
packageJsonEditorPackageJsonEditor(BETA) A useful wrapper around the package.json file for making modifications
packageNamestringThe name of the NPM package. An error is reported if this name is not identical to Example: @scope/MyProject
projectFolderstringThe full path of the folder that contains the project to be built by Rush. Example: C:\MyRepo\libraries\my-project
projectRelativeFolderstringThe relative path of the folder that contains the project to be built by Rush. Example: libraries/my-project
projectRushConfigFolderstringThe project-specific Rush configuration folder. Example: C:\MyRepo\libraries\my-project\config\rush
projectRushTempFolderstringThe project-specific Rush temp folder. This folder is used to store Rush-specific temporary files. Example: C:\MyRepo\libraries\my-project.rush\temp
publishFolderstringThe full path of the folder that will get published by Rush.
reviewCategorystring | undefinedThe review category name, or undefined if no category was assigned. This name must be one of the valid choices listed in RushConfiguration.reviewCategories.
rushConfigurationRushConfigurationThe Rush configuration for the monorepo that the project belongs to.
shouldPublishbooleanA 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.
skipRushCheckbooleanIf true, then this project will be ignored by the "rush check" command. The default value is false.
tempProjectNamestringThe 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
unscopedTempProjectNamestringThe unscoped temporary project name Example: my-project-2
versionPolicyVersionPolicy | undefined(BETA) Version policy of the project
versionPolicyNamestring | undefined(BETA) Name of the version policy used by this project.