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