Do not prepend paths starting with ~ or variable reference (#1905)

## Changes
Fixes #1904 

## Tests
Added regression test
This commit is contained in:
Andrew Nester 2024-11-15 16:03:59 +01:00 committed by GitHub
parent 1db384018c
commit 7f3fb10c4a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 13 additions and 0 deletions

View File

@ -44,6 +44,11 @@ func (m *prependWorkspacePrefix) Apply(ctx context.Context, b *bundle.Bundle) di
return dyn.InvalidValue, fmt.Errorf("expected string, got %s", v.Kind()) return dyn.InvalidValue, fmt.Errorf("expected string, got %s", v.Kind())
} }
// Skip prefixing if the path does not start with /, it might be variable reference or smth else.
if !strings.HasPrefix(path, "/") {
return pv, nil
}
for _, prefix := range skipPrefixes { for _, prefix := range skipPrefixes {
if strings.HasPrefix(path, prefix) { if strings.HasPrefix(path, prefix) {
return pv, nil return pv, nil

View File

@ -31,6 +31,14 @@ func TestPrependWorkspacePrefix(t *testing.T) {
path: "/Volumes/Users/test", path: "/Volumes/Users/test",
expected: "/Volumes/Users/test", expected: "/Volumes/Users/test",
}, },
{
path: "~/test",
expected: "~/test",
},
{
path: "${workspace.file_path}/test",
expected: "${workspace.file_path}/test",
},
} }
for _, tc := range testCases { for _, tc := range testCases {