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 `