From 36db75b36680d36d0fbbc0b8c876ebb49abd2fb3 Mon Sep 17 00:00:00 2001 From: Ayke van Laethem Date: Thu, 21 Jan 2021 15:38:15 +0100 Subject: [PATCH] loader: support imports from vendor directories This fixes https://github.com/tinygo-org/tinygo/issues/1518. --- loader/loader.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/loader/loader.go b/loader/loader.go index d25b08a9..28f969e5 100644 --- a/loader/loader.go +++ b/loader/loader.go @@ -52,7 +52,8 @@ type PackageJSON struct { CFiles []string // Dependency information - Imports []string + Imports []string + ImportMap map[string]string // Error information Error *struct { @@ -411,6 +412,9 @@ func (p *Package) Import(to string) (*types.Package, error) { if to == "unsafe" { return types.Unsafe, nil } + if newTo, ok := p.ImportMap[to]; ok && !strings.HasSuffix(newTo, ".test]") { + to = newTo + } if imported, ok := p.program.Packages[to]; ok { return imported.Pkg, nil } else {