Rush StackShopBlogEvents
Skip to main content

Home > @microsoft/rush-lib > IExperimentsJson

IExperimentsJson interface

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

This interface represents the raw experiments.json file which allows repo maintainers to enable and disable experimental Rush features.


export interface IExperimentsJson 


buildCacheWithAllowWarningsInSuccessfulBuild?boolean(BETA) (Optional) If true, build caching will respect the allowWarningsInSuccessfulBuild flag and cache builds with warnings. This will not replay warnings from the cached build.
cleanInstallAfterNpmrcChanges?boolean(BETA) (Optional) If true, perform a clean install after when running rush install or rush update if the .npmrc file has changed since the last install.
forbidPhantomResolvableNodeModulesFolders?boolean(BETA) (Optional) If true, Rush will not allow node_modules in the repo folder or in parent folders.
noChmodFieldInTarHeaderNormalization?boolean(BETA) (Optional) If true, the chmod field in temporary project tar headers will not be normalized. This normalization can help ensure consistent tarball integrity across platforms.
omitImportersFromPreventManualShrinkwrapChanges?boolean(BETA) (Optional) If using the 'preventManualShrinkwrapChanges' option, restricts the hash to only include the layout of external dependencies. Used to allow links between workspace projects or the addition/removal of references to existing dependency versions to not cause hash changes.
phasedCommands?boolean(BETA) (Optional) If true, the phased commands feature is enabled. To use this feature, create a "phased" command in common/config/rush/command-line.json.
printEventHooksOutputToConsole?boolean(BETA) (Optional) If true, print the outputs of shell commands defined in event hooks to the console.
usePnpmFrozenLockfileForRushInstall?boolean(BETA) (Optional) By default, 'rush install' passes --no-prefer-frozen-lockfile to 'pnpm install'. Set this option to true to pass '--frozen-lockfile' instead.
usePnpmPreferFrozenLockfileForRushUpdate?boolean(BETA) (Optional) By default, 'rush update' passes --no-prefer-frozen-lockfile to 'pnpm install'. Set this option to true to pass '--prefer-frozen-lockfile' instead.