fix: [use-]node-version isn't passed on workspace (#7092)

close #6981
This commit is contained in:
Khải
2023-09-15 06:56:13 +07:00
committed by GitHub
parent 61b9ca1896
commit a6f5e5c9c0
3 changed files with 18 additions and 2 deletions

View File

@@ -0,0 +1,6 @@
---
"@pnpm/filter-workspace-packages": minor
"pnpm": patch
---
Fix a bug in which `use-node-version` or `node-version` isn't passed down to `checkEngine` when using pnpm workspace, resulting in an error [#6981](https://github.com/pnpm/pnpm/issues/6981).

View File

@@ -199,6 +199,7 @@ export async function main (inputArgv: string[]) {
const filterResults = await filterPackagesFromDir(wsDir, filters, {
engineStrict: config.engineStrict,
nodeVersion: config.nodeVersion ?? config.useNodeVersion,
patterns: cliOptions['workspace-packages'],
linkWorkspacePackages: !!config.linkWorkspacePackages,
prefix: process.cwd(),

View File

@@ -70,9 +70,18 @@ export interface FilterPackagesOptions {
export async function filterPackagesFromDir (
workspaceDir: string,
filter: WorkspaceFilter[],
opts: FilterPackagesOptions & { engineStrict?: boolean, patterns: string[] }
opts: FilterPackagesOptions & {
engineStrict?: boolean
nodeVersion?: string
patterns: string[]
}
) {
const allProjects = await findWorkspacePackages(workspaceDir, { engineStrict: opts?.engineStrict, patterns: opts.patterns, sharedWorkspaceLockfile: opts.sharedWorkspaceLockfile })
const allProjects = await findWorkspacePackages(workspaceDir, {
engineStrict: opts?.engineStrict,
patterns: opts.patterns,
sharedWorkspaceLockfile: opts.sharedWorkspaceLockfile,
nodeVersion: opts.nodeVersion,
})
return {
allProjects,
...(await filterPackages(allProjects, filter, opts)),