diff --git a/common/changes/@microsoft/rush/main_2023-12-23-05-43.json b/common/changes/@microsoft/rush/main_2023-12-23-05-43.json new file mode 100644 index 00000000000..8620ed1a9c4 --- /dev/null +++ b/common/changes/@microsoft/rush/main_2023-12-23-05-43.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Update `rush init` template to document the \"buildSkipWithAllowWarningsInSuccessfulBuild\" experiment", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file diff --git a/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json b/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json index 4b3917178bc..db23def61a0 100644 --- a/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json +++ b/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json @@ -43,6 +43,12 @@ */ /*[LINE "HYPOTHETICAL"]*/ "buildCacheWithAllowWarningsInSuccessfulBuild": true, + /** + * If true, build skipping will respect the allowWarningsInSuccessfulBuild flag and skip builds with warnings. + * This will not replay warnings from the skipped build. + */ + /*[LINE "HYPOTHETICAL"]*/ "buildSkipWithAllowWarningsInSuccessfulBuild": true, + /** * If true, the phased commands feature is enabled. To use this feature, create a "phased" command * in common/config/rush/command-line.json. diff --git a/libraries/rush-lib/src/api/ExperimentsConfiguration.ts b/libraries/rush-lib/src/api/ExperimentsConfiguration.ts index 5c63db4acd5..b15ff0655e9 100644 --- a/libraries/rush-lib/src/api/ExperimentsConfiguration.ts +++ b/libraries/rush-lib/src/api/ExperimentsConfiguration.ts @@ -13,13 +13,13 @@ import schemaJson from '../schemas/experiments.schema.json'; export interface IExperimentsJson { /** * By default, 'rush install' passes --no-prefer-frozen-lockfile to 'pnpm install'. - * Set this option to true to pass '--frozen-lockfile' instead. + * Set this option to true to pass '--frozen-lockfile' instead for faster installs. */ usePnpmFrozenLockfileForRushInstall?: boolean; /** * By default, 'rush update' passes --no-prefer-frozen-lockfile to 'pnpm install'. - * Set this option to true to pass '--prefer-frozen-lockfile' instead. + * Set this option to true to pass '--prefer-frozen-lockfile' instead to minimize shrinkwrap changes. */ usePnpmPreferFrozenLockfileForRushUpdate?: boolean;