github.com/aneshas/cli@v0.0.0-20180104210444-aec958fa47db/langs/lambda_node.go (about) 1 package langs 2 3 type LambdaNodeHelper struct { 4 BaseHelper 5 } 6 7 func (h *LambdaNodeHelper) Handles(lang string) bool { 8 return defaultHandles(h, lang) 9 } 10 func (h *LambdaNodeHelper) Runtime() string { 11 return h.LangStrings()[0] 12 } 13 14 func (lh *LambdaNodeHelper) LangStrings() []string { 15 return []string{"lambda-nodejs4.3", "lambda-node-4"} 16 } 17 18 // This shouldn't match any auto-detection so returning empty slice here 19 func (lh *LambdaNodeHelper) Extensions() []string { 20 return []string{} 21 } 22 23 func (lh *LambdaNodeHelper) BuildFromImage() (string, error) { 24 return "fnproject/lambda:node-4", nil 25 } 26 27 func (lh *LambdaNodeHelper) RunFromImage() (string, error) { 28 return "fnproject/lambda:node-4", nil 29 } 30 31 func (lh *LambdaNodeHelper) IsMultiStage() bool { 32 return false 33 } 34 35 func (lh *LambdaNodeHelper) Cmd() (string, error) { 36 return "func.handler", nil 37 } 38 39 func (h *LambdaNodeHelper) DockerfileBuildCmds() []string { 40 r := []string{} 41 if exists("package.json") { 42 r = append(r, 43 "ADD package.json /function/", 44 "RUN npm install", 45 ) 46 } 47 // single stage build for this one, so add files 48 r = append(r, "ADD . /function/") 49 return r 50 }