Skip to content

vp exec --fail-if-no-match exits 0 for unmatched filters #1858

Description

@jasonkuhrt

vp exec --fail-if-no-match documents non-zero exit for unmatched filters, but exits 0.

Version: vite-plus@0.2.0; also present on origin/main at 6f97f097.

vp exec --fail-if-no-match --filter __definitely_no_such_package__ -- node --version
# warn: No packages matched the filter '__definitely_no_such_package__'
# warn: No packages matched the filter(s)
# exit 0

Expected: exit non-zero, same as vp run --fail-if-no-match.

vp run --fail-if-no-match --filter __definitely_no_such_package__ test
# error: No packages matched the filter: __definitely_no_such_package__
# exit 1

Also happens when one filter matches and one does not:

vp exec --fail-if-no-match --filter __definitely_no_such_package__ --filter . -- node -e "console.log(process.env.VP_PACKAGE_NAME)"
# warn: No packages matched the filter '__definitely_no_such_package__'
# heartbeat
# exit 0

Likely source: ExecArgs flattens PackageQueryArgs, but execute_exec_workspace only warns on resolution.unmatched_selectors; it never checks the fail-if-no-match setting and returns Ok(ExitStatus::SUCCESS) for an empty selection.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Fields

Priority

None yet

Effort

None yet

Target date

None yet

Start date

None yet

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions