mirror of
https://github.com/tiktok/sparo.git
synced 2024-12-04 21:01:03 -05:00
63 lines
3 KiB
JSON
63 lines
3 KiB
JSON
|
/**
|
||
|
* This configuration file specifies NPM dependency version selections that affect all projects
|
||
|
* in a Rush repo. More documentation is available on the Rush website: https://rushjs.io
|
||
|
*/
|
||
|
{
|
||
|
"$schema": "https://developer.microsoft.com/json-schemas/rush/v5/common-versions.schema.json",
|
||
|
|
||
|
/**
|
||
|
* A table that specifies a "preferred version" for a given NPM package. This feature is typically used
|
||
|
* to hold back an indirect dependency to a specific older version, or to reduce duplication of indirect dependencies.
|
||
|
*
|
||
|
* The "preferredVersions" value can be any SemVer range specifier (e.g. "~1.2.3"). Rush injects these values into
|
||
|
* the "dependencies" field of the top-level common/temp/package.json, which influences how the package manager
|
||
|
* will calculate versions. The specific effect depends on your package manager. Generally it will have no
|
||
|
* effect on an incompatible or already constrained SemVer range. If you are using PNPM, similar effects can be
|
||
|
* achieved using the pnpmfile.js hook. See the Rush documentation for more details.
|
||
|
*
|
||
|
* After modifying this field, it's recommended to run "rush update --full" so that the package manager
|
||
|
* will recalculate all version selections.
|
||
|
*/
|
||
|
"preferredVersions": {
|
||
|
/**
|
||
|
* When someone asks for "^1.0.0" make sure they get "1.2.3" when working in this repo,
|
||
|
* instead of the latest version.
|
||
|
*/
|
||
|
// "some-library": "1.2.3"
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* When set to true, for all projects in the repo, all dependencies will be automatically added as preferredVersions,
|
||
|
* except in cases where different projects specify different version ranges for a given dependency. For older
|
||
|
* package managers, this tended to reduce duplication of indirect dependencies. However, it can sometimes cause
|
||
|
* trouble for indirect dependencies with incompatible peerDependencies ranges.
|
||
|
*
|
||
|
* The default value is true. If you're encountering installation errors related to peer dependencies,
|
||
|
* it's recommended to set this to false.
|
||
|
*
|
||
|
* After modifying this field, it's recommended to run "rush update --full" so that the package manager
|
||
|
* will recalculate all version selections.
|
||
|
*/
|
||
|
// "implicitlyPreferredVersions": false,
|
||
|
|
||
|
/**
|
||
|
* The "rush check" command can be used to enforce that every project in the repo must specify
|
||
|
* the same SemVer range for a given dependency. However, sometimes exceptions are needed.
|
||
|
* The allowedAlternativeVersions table allows you to list other SemVer ranges that will be
|
||
|
* accepted by "rush check" for a given dependency.
|
||
|
*
|
||
|
* IMPORTANT: THIS TABLE IS FOR *ADDITIONAL* VERSION RANGES THAT ARE ALTERNATIVES TO THE
|
||
|
* USUAL VERSION (WHICH IS INFERRED BY LOOKING AT ALL PROJECTS IN THE REPO).
|
||
|
* This design avoids unnecessary churn in this file.
|
||
|
*/
|
||
|
"allowedAlternativeVersions": {
|
||
|
/**
|
||
|
* For example, allow some projects to use an older TypeScript compiler
|
||
|
* (in addition to whatever "usual" version is being used by other projects in the repo):
|
||
|
*/
|
||
|
// "typescript": [
|
||
|
// "~2.4.0"
|
||
|
// ]
|
||
|
}
|
||
|
}
|