Description
On Windows, rocketride upload in the TypeScript CLI fails with No files found matching the specified patterns for any wildcard or directory given as a native (backslash) path.
findFiles in packages/client-typescript/src/cli/commands/tasks.ts hands the pattern to glob 10 without windowsPathsNoEscape, so glob reads every backslash as an escape and matches nothing. The directory case builds path.join(dir, '**/*'), which is backslash-separated on Windows as well. validate.ts already sets the option; the Python CLI expands patterns with glob.glob and is not affected.
Develop baseline: 11800744d.
Steps to Reproduce
- On Windows, start any pipeline task, e.g.
rocketride start --pipeline my.pipe --token TOKEN.
- From the repository root, run
rocketride upload "testdata\documents\*.docx" --token TOKEN.
- Or upload a whole directory:
rocketride upload testdata\documents --token TOKEN.
Expected vs Actual Behavior
Expected: the matching files are uploaded (6 .docx files; 16 files for the directory).
Actual: Error: No files found matching the specified patterns, exit 1.
What glob 10.5.0 returns for the paths findFiles builds:
| Pattern |
Default |
windowsPathsNoEscape: true |
testdata\documents\*.docx |
0 |
6 |
E:\...\testdata\documents\*.docx |
0 |
6 |
E:\...\testdata\documents\**\* (directory) |
0 |
16 |
testdata/documents/*.docx |
6 |
6 |
Severity
P2 - Medium (feature impaired, workaround exists): forward slashes, or literal file paths without wildcards, work.
Platform
Version / Environment
develop 11800744d, TypeScript CLI (client-typescript 1.3.0), glob 10.5.0, Node v24.16.0, Windows 11.
Screenshots / Logs
PS> .\rocketride.cmd upload "$docs\*.docx" --token PROFILE-DEMO
Error: No files found matching the specified patterns
Description
On Windows,
rocketride uploadin the TypeScript CLI fails withNo files found matching the specified patternsfor any wildcard or directory given as a native (backslash) path.findFilesinpackages/client-typescript/src/cli/commands/tasks.tshands the pattern to glob 10 withoutwindowsPathsNoEscape, so glob reads every backslash as an escape and matches nothing. The directory case buildspath.join(dir, '**/*'), which is backslash-separated on Windows as well.validate.tsalready sets the option; the Python CLI expands patterns withglob.globand is not affected.Develop baseline:
11800744d.Steps to Reproduce
rocketride start --pipeline my.pipe --token TOKEN.rocketride upload "testdata\documents\*.docx" --token TOKEN.rocketride upload testdata\documents --token TOKEN.Expected vs Actual Behavior
Expected: the matching files are uploaded (6
.docxfiles; 16 files for the directory).Actual:
Error: No files found matching the specified patterns, exit 1.What glob 10.5.0 returns for the paths
findFilesbuilds:windowsPathsNoEscape: truetestdata\documents\*.docxE:\...\testdata\documents\*.docxE:\...\testdata\documents\**\*(directory)testdata/documents/*.docxSeverity
P2 - Medium (feature impaired, workaround exists): forward slashes, or literal file paths without wildcards, work.
Platform
Version / Environment
develop
11800744d, TypeScript CLI (client-typescript 1.3.0), glob 10.5.0, Node v24.16.0, Windows 11.Screenshots / Logs