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

PropertyModifiersTypeDescription
consumingProjectsreadonlyReadonlySet<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.
cyclicDependencyProjectsreadonlySet<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().

decoupledLocalDependenciesreadonlySet<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().

dependencyProjectsreadonlyReadonlySet<RushConfigurationProject>The set of projects within the Rush configuration which this project declares as dependencies.
downstreamDependencyProjectsreadonlystring[]An array of projects within the Rush configuration which directly depend on this package.
isMainProjectreadonlyboolean

(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.

localDependencyProjectsreadonlyReadonlyArray<RushConfigurationProject>An array of projects within the Rush configuration which this project declares as dependencies.
packageJsonreadonlyIPackageJsonThe parsed NPM "package.json" file from projectFolder.
packageJsonEditorreadonlyPackageJsonEditor(BETA) A useful wrapper around the package.json file for making modifications
packageNamereadonlystring

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

Example: @scope/MyProject

projectFolderreadonlystring

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

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

projectRelativeFolderreadonlystring

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

Example: libraries/my-project

projectRushConfigFolderreadonlystring

The project-specific Rush configuration folder.

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

projectRushTempFolderreadonlystring

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

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

publishFolderreadonlystringThe full path of the folder that will get published by Rush.
reviewCategoryreadonlystring | undefinedThe review category name, or undefined if no category was assigned. This name must be one of the valid choices listed in RushConfiguration.reviewCategories.
rushConfigurationreadonlyRushConfigurationThe Rush configuration for the monorepo that the project belongs to.
shouldPublishreadonlybooleanA 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.
skipRushCheckreadonlybooleanIf true, then this project will be ignored by the "rush check" command. The default value is false.
tagsreadonlyReadonlySet<string>(BETA) An optional set of custom tags that can be used to select this project.
tempProjectNamereadonlystring

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

unscopedTempProjectNamereadonlystring

The unscoped temporary project name

Example: my-project-2

versionPolicyreadonlyVersionPolicy | undefined(BETA) Version policy of the project
versionPolicyNamereadonlystring | undefined(BETA) Name of the version policy used by this project.