common-versions.json•5.49 kB
/**
* 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",
"axios": "^1.12.0",
/**
* At verison 4.22.0 domain-browser moved from MIT to "Artistic License"
*/
"domain-browser": "4.22.0"
},
/**
* 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": {
/**
* Convex minimum version of TypeScript supported is 5.0;
* Whatever features were added after that, don't use them!
*
* We CAN use 4.9 and 5.0 things now though, which include:
* - satisfies
* - auto-accessors
* - decorators
* - const type parameters
*
* Compatibility with the oldest version of TypeScript we advertise supporting
* is typically our priority, but sometimes we're trying to test
* against the latest TypeScript, the one our users are most likely
* to be using.
*
* Next.js async components require 5.1.3 or higher even though their templates
* start you off with "^5".
*/
"typescript": ["5.0.4", "~5.6.2", "^5", "^5.1.3", "^5.7.2", "^5.9.2"],
/**
* The Convex CLI expects prettier for formatting generated code.
*/
"prettier": ["^3.0.0"],
/**
* Allow a newer version of Vite for TanStack Start projects.
* Ideally we just update Vite to the latest version everywhere,
* but some of our projects have dependencies that are not compatible
* with Vite 7 so far.
*/
"vite": ["^7.1.7"],
/**
* These are for private-demos/tanstack-start to closely match
* https://github.com/TanStack/router
* specifically https://github.com/TanStack/router/blob/main/examples/react/start-basic-react-query/package.json
*/
"@vitejs/plugin-react": ["^4.3.1"],
// Allow old Tailwind versions in demos
"tailwindcss": ["^3.2.4", "^3.4.16"],
"tailwind-merge": ["^2.5.5", "^1.14.0"],
"autoprefixer": ["^10.4.20"],
"postcss": ["^8.4.49"],
/**
* These are for private-demos/nextjs-15-app to closely match
* npx create-next-app@latest next-15-app
*/
"next": ["15.5.2"],
"react": ["^19", "^18.3.1"],
"react-dom": ["^19", "^18.3.1"],
//"typescript": ["^5"],
"@types/node": ["^20", "^22.5.4"],
"@types/react": ["^18", "^18.3.17", "^18.2.65"],
"@types/react-dom": ["^18", "^18.3.1", "^18.2.21"],
"@typescript-eslint/eslint-plugin": ["^8.45.0"],
//"eslint": ["^8"],
"@eslint/eslintrc": ["^3"],
"eslint-config-next": ["~13.4.16", "15.2.3"],
// Keep the TanStack Start + Clerk demo on a pre-RC version since Clerk doesn’t support RC yet
"@tanstack/react-start": ["1.120.11"],
/**
* Until an upgrade to ESLint 9 is done
*/
"eslint": ["^8.29.0", "^9"],
"eslint-plugin-react-hooks": ["^4.6.2"]
}
}