mirror of
https://github.com/pnpm/pnpm.git
synced 2026-05-12 10:11:42 -04:00
* fix(self-update): do not downgrade when latest dist-tag is older `pnpm self-update` defaults to the `latest` dist-tag, but `latest` on the registry can lag the installed version when a new major has shipped without being tagged. Refuse to downgrade in that case. Users can still run `pnpm self-update latest` (explicit) to force the downgrade. Closes #11418 * fix(self-update): use lockfile-pinned version for project-pin downgrade check When a project pins pnpm via a range (e.g. `devEngines.packageManager.version: ">=8.0.0"`) and the env lockfile pins an exact version above the range's lower bound, the previous guard compared the resolved `latest` against `semver.minVersion(spec)` and missed the downgrade. Read `packageManagerDependencies.pnpm.version` from `pnpm-lock.yaml` and use the max of (lockfile-pinned, spec.minVersion) as the current version. Also fix the explicit-`latest` test which mocked `latest` as newer than the current version, defeating its own assertion. * chore(engine.pm.commands): add lockfile/fs project reference to tsconfig
87 lines
1.5 KiB
JSON
87 lines
1.5 KiB
JSON
{
|
|
"extends": "@pnpm/tsconfig",
|
|
"compilerOptions": {
|
|
"outDir": "lib",
|
|
"rootDir": "src",
|
|
"target": "es2020"
|
|
},
|
|
"include": [
|
|
"src/**/*.ts",
|
|
"../../../__typings__/**/*.d.ts"
|
|
],
|
|
"references": [
|
|
{
|
|
"path": "../../../__utils__/prepare"
|
|
},
|
|
{
|
|
"path": "../../../bins/linker"
|
|
},
|
|
{
|
|
"path": "../../../building/policy"
|
|
},
|
|
{
|
|
"path": "../../../cli/meta"
|
|
},
|
|
{
|
|
"path": "../../../cli/utils"
|
|
},
|
|
{
|
|
"path": "../../../config/reader"
|
|
},
|
|
{
|
|
"path": "../../../core/constants"
|
|
},
|
|
{
|
|
"path": "../../../core/error"
|
|
},
|
|
{
|
|
"path": "../../../core/logger"
|
|
},
|
|
{
|
|
"path": "../../../core/types"
|
|
},
|
|
{
|
|
"path": "../../../deps/graph-hasher"
|
|
},
|
|
{
|
|
"path": "../../../global/commands"
|
|
},
|
|
{
|
|
"path": "../../../global/packages"
|
|
},
|
|
{
|
|
"path": "../../../installing/client"
|
|
},
|
|
{
|
|
"path": "../../../installing/deps-restorer"
|
|
},
|
|
{
|
|
"path": "../../../installing/env-installer"
|
|
},
|
|
{
|
|
"path": "../../../lockfile/fs"
|
|
},
|
|
{
|
|
"path": "../../../lockfile/types"
|
|
},
|
|
{
|
|
"path": "../../../resolving/npm-resolver"
|
|
},
|
|
{
|
|
"path": "../../../shell/path"
|
|
},
|
|
{
|
|
"path": "../../../store/connection-manager"
|
|
},
|
|
{
|
|
"path": "../../../store/controller"
|
|
},
|
|
{
|
|
"path": "../../../testing/mock-agent"
|
|
},
|
|
{
|
|
"path": "../../../workspace/project-manifest-reader"
|
|
}
|
|
]
|
|
}
|