github.com/hazelops/ize@v1.1.12-0.20230915191306-97d7c0e48f11/internal/manager/serverless/explain.go (about)

     1  package serverless
     2  
     3  import (
     4  	"text/template"
     5  
     6  	"github.com/hazelops/ize/internal/config"
     7  )
     8  
     9  func (sls *Manager) Explain() error {
    10  	sls.prepare()
    11  	return sls.Project.Generate(upSLSAppTmpl, template.FuncMap{
    12  		"app": func() config.Serverless {
    13  			return *sls.App
    14  		},
    15  	})
    16  }
    17  
    18  var upSLSAppTmpl = `
    19  # Change to the dir
    20  cd {{app.Path}}
    21  
    22  # Install the specified node version
    23  nvm install {{app.NodeVersion}} 
    24  
    25  # Switch to using the specified node version
    26  nvm use {{app.NodeVersion}}
    27  
    28  # Install dependencies
    29  {{- if app.UseYarn}}
    30  yarn install --save-dev
    31  
    32  {{- if app.CreateDomain}}
    33  # Create domain
    34  yarn serverless create_domain \
    35  	--region={{app.AwsRegion}} \
    36  	--aws-profile={{app.AwsProfile}} \
    37  	--stage={{.Project.Env}} \
    38  	--verbose
    39  {{- end}}
    40  
    41  # Deploy serverless app
    42  yarn serverless deploy \
    43  	--config={{app.File}} \
    44  	{{- if eq app.ServerlessVersion "3"}}
    45  	--param="service={{app.Name}}" \
    46  	{{- else}}
    47  	--service={{app.Name}} \
    48  	{{- end}}
    49  	--region={{app.AwsRegion}} \
    50  	--aws-profile={{app.AwsProfile}} \
    51  	--stage={{.Project.Env}} \
    52  	--verbose
    53  {{- else}}
    54  npm install --save-dev
    55  
    56  {{- if app.CreateDomain}}
    57  # Create domain
    58  npx serverless create_domain \
    59  	--region={{app.AwsRegion}} \
    60  	--aws-profile={{app.AwsProfile}} \
    61  	--stage={{.Project.Env}} \
    62  	--verbose
    63  {{- end}}
    64  
    65  # Deploy serverless app
    66  npx serverless deploy \
    67  	--config={{app.File}} \
    68  	{{- if eq app.ServerlessVersion "3"}}
    69  	--param="service={{app.Name}}" \
    70  	{{- else}}
    71  	--service={{app.Name}} \
    72  	{{- end}}
    73  	--region={{app.AwsRegion}} \
    74  	--aws-profile={{app.AwsProfile}} \
    75  	--stage={{.Project.Env}} \
    76  	--verbose
    77  {{- end}}
    78  `