leonitousconforti/tinyburg

View on GitHub
common/config/rush/version-policies.json

Summary

Maintainability
Test Coverage
/**
 * This is configuration file is used for advanced publishing configurations with Rush.
 * More documentation is available on the Rush website: https://rushjs.io
 */

/**
 * A list of version policy definitions.  A "version policy" is a custom package versioning
 * strategy that affects "rush change", "rush version", and "rush publish".  The strategy applies
 * to a set of projects that are specified using the "versionPolicyName" field in rush.json.
 */
[
    // {
    //   /**
    //    * (Required) Indicates the kind of version policy being defined ("lockStepVersion" or "individualVersion").
    //    *
    //    * The "lockStepVersion" mode specifies that the projects will use "lock-step versioning".  This
    //    * strategy is appropriate for a set of packages that act as selectable components of a
    //    * unified product.  The entire set of packages are always published together, and always share
    //    * the same NPM version number.  When the packages depend on other packages in the set, the
    //    * SemVer range is usually restricted to a single version.
    //    */
    //   "definitionName": "lockStepVersion",
    //
    //   /**
    //    * (Required) The name that will be used for the "versionPolicyName" field in rush.json.
    //    * This name is also used command-line parameters such as "--version-policy"
    //    * and "--to-version-policy".
    //    */
    //   "policyName": "MyBigFramework",
    //
    //   /**
    //    * (Required) The current version.  All packages belonging to the set should have this version
    //    * in the current branch.  When bumping versions, Rush uses this to determine the next version.
    //    * (The "version" field in package.json is NOT considered.)
    //    */
    //   "version": "1.0.0",
    //
    //   /**
    //    * (Required) The type of bump that will be performed when publishing the next release.
    //    * When creating a release branch in Git, this field should be updated according to the
    //    * type of release.
    //    *
    //    * Valid values are: "prerelease", "preminor", "minor", "patch", "major"
    //    */
    //   "nextBump": "prerelease",
    //
    //   /**
    //    * (Optional) If specified, all packages in the set share a common CHANGELOG.md file.
    //    * This file is stored with the specified "main" project, which must be a member of the set.
    //    *
    //    * If this field is omitted, then a separate CHANGELOG.md file will be maintained for each
    //    * package in the set.
    //    */
    //   "mainProject": "my-app",
    //
    //   /**
    //    * (Optional) If enabled, the "rush change" command will prompt the user for their email address
    //    * and include it in the JSON change files.  If an organization maintains multiple repos, tracking
    //    * this contact information may be useful for a service that automatically upgrades packages and
    //    * needs to notify engineers whose change may be responsible for a downstream build break.  It might
    //    * also be useful for crediting contributors.  Rush itself does not do anything with the collected
    //    * email addresses.  The default value is "false".
    //    */
    //   // "includeEmailInChangeFile": true
    // },
    //
    // {
    //   /**
    //    * (Required) Indicates the kind of version policy being defined ("lockStepVersion" or "individualVersion").
    //    *
    //    * The "individualVersion" mode specifies that the projects will use "individual versioning".
    //    * This is the typical NPM model where each package has an independent version number
    //    * and CHANGELOG.md file.  Although a single CI definition is responsible for publishing the
    //    * packages, they otherwise don't have any special relationship.  The version bumping will
    //    * depend on how developers answer the "rush change" questions for each package that
    //    * is changed.
    //    */
    //   "definitionName": "individualVersion",
    //
    //   "policyName": "MyRandomLibraries",
    //
    //   /**
    //    * (Optional) This can be used to enforce that all packages in the set must share a common
    //    * major version number, e.g. because they are from the same major release branch.
    //    * It can also be used to discourage people from accidentally making "MAJOR" SemVer changes
    //    * inappropriately.  The minor/patch version parts will be bumped independently according
    //    * to the types of changes made to each project, according to the "rush change" command.
    //    */
    //   "lockedMajor": 3,
    //
    //   /**
    //    * (Optional) When publishing is managed by Rush, by default the "rush change" command will
    //    * request changes for any projects that are modified by a pull request. These change entries
    //    * will produce a CHANGELOG.md file. If you author your CHANGELOG.md manually or announce updates
    //    * in some other way, set "exemptFromRushChange" to true to tell "rush change" to ignore the projects
    //    * belonging to this version policy.
    //    */
    //   "exemptFromRushChange": false,
    //
    //   // "includeEmailInChangeFile": true
    // }
]