From 7acf75bd3697caaa31c2ab1427db1e75eb05fce2 Mon Sep 17 00:00:00 2001 From: X Date: Tue, 30 Mar 2021 11:09:44 +0800 Subject: [PATCH] fix: fix NpmPackage resolve (#41) --- server/build.go | 13 +++++++++++-- server/nodejs.go | 3 ++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/server/build.go b/server/build.go index fe53e91f2..cfc543436 100644 --- a/server/build.go +++ b/server/build.go @@ -163,8 +163,17 @@ func build(storageDir string, hostname string, options buildOptions) (ret buildR if meta.Module == "" && meta.Type == "module" { meta.Module = meta.Main } - if meta.Module == "" && meta.DefinedExports["import"] != "" { - meta.Module = meta.DefinedExports["import"] + if meta.Module == "" && meta.DefinedExports != nil { + v, ok := meta.DefinedExports.(map[string]interface{}) + if ok { + m, ok := v["import"] + if ok { + s, ok := m.(string) + if ok && s != "" { + meta.Module = s + } + } + } } if pkg.submodule != "" { meta.Main = pkg.submodule diff --git a/server/nodejs.go b/server/nodejs.go index 94862a00c..82d5690ac 100644 --- a/server/nodejs.go +++ b/server/nodejs.go @@ -128,9 +128,10 @@ type NpmPackage struct { Type string `json:"type,omitempty"` Types string `json:"types,omitempty"` Typings string `json:"typings,omitempty"` - DefinedExports map[string]string `json:"exports,omitempty"` Dependencies map[string]string `json:"dependencies,omitempty"` PeerDependencies map[string]string `json:"peerDependencies,omitempty"` + // https://nodejs.org/api/esm.html#esm_resolver_algorithm_specification + DefinedExports interface{} `json:"exports,omitempty"` } // NodeEnv defines the nodejs env