fix: filter on pnpm-workspace.yaml (#10127)

* fix: `filter` on `pnpm-workspace.yaml`

* docs: changeset

* fix: actual fix

* fix: don't set default on config
This commit is contained in:
Khải
2025-10-27 19:36:35 +07:00
committed by GitHub
parent 66659a7455
commit ed1a7fe7cd
3 changed files with 10 additions and 2 deletions

View File

@@ -0,0 +1,6 @@
---
"@pnpm/config": patch
"pnpm": patch
---
Fix a bug in which specifying `filter` on `pnpm-workspace.yaml` would cause pnpm to not detect any projects.

View File

@@ -376,7 +376,7 @@ export async function getConfig (opts: {
if (pnpmConfig.workspaceDir != null) {
const workspaceManifest = await readWorkspaceManifest(pnpmConfig.workspaceDir)
pnpmConfig.workspacePackagePatterns = cliOptions['workspace-packages'] as string[] ?? workspaceManifest?.packages ?? ['.']
pnpmConfig.workspacePackagePatterns = cliOptions['workspace-packages'] as string[] ?? workspaceManifest?.packages
if (workspaceManifest) {
const newSettings = Object.assign(getOptionsFromPnpmSettings(pnpmConfig.workspaceDir, workspaceManifest, pnpmConfig.rootProjectManifest), configFromCliOpts)
for (const [key, value] of Object.entries(newSettings)) {

View File

@@ -314,7 +314,9 @@ test('recursive command with filter from config', async () => {
])
fs.writeFileSync('package.json', '{}', 'utf8')
fs.writeFileSync('.npmrc', 'filter=project-1 project-2', 'utf8')
writeYamlFile('pnpm-workspace.yaml', {
filter: ['project-1', 'project-2'],
})
await execPnpm(['recursive', 'install'])
projects['project-1'].has('is-positive')