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  }