#1729 changes runCLI({ argv }) from accepting the full Node.js process.argv array to accepting only process.argv.slice(2).
This diverges from Rsbuild, Rslib, Rslint, and Rstest 0.11.x, which all accept the full array:
// Previous Rstest contract; also used by Rsbuild, Rslib, and Rslint
runCLI({ argv: ['node', 'rstest', 'run', 'foo.test.ts'] });
// New Rstest contract
runCLI({ argv: ['run', 'foo.test.ts'] });
Existing integrations that still pass the full array now have the Node executable and script name interpreted as test filters, causing No test files found. This affected Rstest ecosystem CI and required an entry-specific workaround in rstackjs/rstack-cli#462, after rstackjs/rstack-cli#460 adapted to the relocated export. The unchanged argv: string[] type does not catch this mismatch.
Could we preserve the full process.argv contract when moving runCLI to @rstest/core/api? The new implementation already prepends ['node', 'rstest'] internally, so changing the public argument format does not appear necessary for the API rewrite. Keeping the existing contract would preserve compatibility and consistency across the Rstack tools.
#1729 changes
runCLI({ argv })from accepting the full Node.jsprocess.argvarray to accepting onlyprocess.argv.slice(2).This diverges from Rsbuild, Rslib, Rslint, and Rstest 0.11.x, which all accept the full array:
Existing integrations that still pass the full array now have the Node executable and script name interpreted as test filters, causing
No test files found. This affected Rstest ecosystem CI and required an entry-specific workaround in rstackjs/rstack-cli#462, after rstackjs/rstack-cli#460 adapted to the relocated export. The unchangedargv: string[]type does not catch this mismatch.Could we preserve the full
process.argvcontract when movingrunCLIto@rstest/core/api? The new implementation already prepends['node', 'rstest']internally, so changing the public argument format does not appear necessary for the API rewrite. Keeping the existing contract would preserve compatibility and consistency across the Rstack tools.