diff --git a/langs/base.go b/langs/base.go index 3d45330d..6f5618cc 100644 --- a/langs/base.go +++ b/langs/base.go @@ -13,7 +13,9 @@ func init() { registerHelper(&GoLangHelper{}) registerHelper(&JavaLangHelper{version: "8"}) registerHelper(&JavaLangHelper{version: "11"}) - registerHelper(&NodeLangHelper{}) + registerHelper(&NodeLangHelper{Version: "11"}) + registerHelper(&NodeLangHelper{Version: "10"}) + registerHelper(&NodeLangHelper{Version: "8"}) registerHelper(&PythonLangHelper{Version: "3.6"}) registerHelper(&PythonLangHelper{Version: "3.7.1"}) registerHelper(&RubyLangHelper{}) diff --git a/langs/node.go b/langs/node.go index 4b0ab54d..20b86a81 100644 --- a/langs/node.go +++ b/langs/node.go @@ -1,6 +1,7 @@ package langs import ( + "fmt" "io/ioutil" "os" "path/filepath" @@ -8,6 +9,7 @@ import ( type NodeLangHelper struct { BaseHelper + Version string } func (h *NodeLangHelper) Handles(lang string) bool { @@ -18,18 +20,20 @@ func (h *NodeLangHelper) Runtime() string { } func (lh *NodeLangHelper) LangStrings() []string { - return []string{"node"} + return []string{"node", fmt.Sprintf("node%s", lh.Version)} } + func (lh *NodeLangHelper) Extensions() []string { // this won't be chosen by default return []string{".js"} } func (lh *NodeLangHelper) BuildFromImage() (string, error) { - return "fnproject/node:dev", nil + return fmt.Sprintf("fnproject/node:%s-dev", lh.Version), nil } + func (lh *NodeLangHelper) RunFromImage() (string, error) { - return "fnproject/node", nil + return fmt.Sprintf("fnproject/node:%s", lh.Version), nil } const funcJsContent = `const fdk=require('@fnproject/fdk');