Skip to content

Instantly share code, notes, and snippets.

@ugnb
Last active October 7, 2018 13:33
Show Gist options
  • Save ugnb/0ca7d9ac5c3efe4171d0f33e48a34189 to your computer and use it in GitHub Desktop.
Save ugnb/0ca7d9ac5c3efe4171d0f33e48a34189 to your computer and use it in GitHub Desktop.
'Serverless' Framework config for NodeJS that removes development dependencies before deploy. (Requires zip and unzip installed)
service: my-service-name
provider:
name: aws
runtime: nodejs8.10
region: us-east-1
environment:
NODE_ENV: ${self:custom.stage}
custom:
stage: ${opt:stage, self:provider.stage}
region: ${opt:region, self:provider.region}
scripts:
hooks:
'after:package:createDeploymentArtifacts': >
printf "[after:package:createDeploymentArtifacts hook] Removing development dependencies " &&
(cd .serverless && unzip -qq my-service-name.zip -d my-service-name) && printf "." &&
(cd .serverless && rm -rf my-service-name/node_modules) && printf "." &&
(cd .serverless/my-service-name && npm install --only=prod > /dev/null 2>&1) && printf "." &&
(cd .serverless/my-service-name/ && zip -q -FSr ../my-service-name.zip .) && printf ".\n" &&
rm -rf .serverless/my-service-name/ &&
printf "[after:package:createDeploymentArtifacts hook] Done\n"
functions:
scheduledHandler:
handler: src/handlers.scheduledHandler
events:
- schedule: rate(10 minutes)
package:
exclude:
- .vscode/**
- .idea/**
- test/**
- build/**
- .build/**
plugins:
- serverless-plugin-scripts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment