Skip to content
This repository was archived by the owner on Jul 11, 2024. It is now read-only.

Commit b380b69

Browse files
authored
Feat add configs (#58)
* feat: add @types/node * feat: add serverless dotenv plugin * feat: add debug module
1 parent 95fccac commit b380b69

File tree

4 files changed

+59
-4
lines changed

4 files changed

+59
-4
lines changed

README.md

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,9 +127,9 @@ Your handler function can then handle this event like so:
127127
const myFunc = (event, context, callback) => {
128128
// Detect the keep-alive ping from CloudWatch and exit early. This keeps our
129129
// lambda function running hot.
130-
if (event.source === "aws.events") {
130+
if (event.source === 'aws.events') {
131131
// aws.events is the source for Scheduled events
132-
return callback(null, "pinged");
132+
return callback(null, 'pinged');
133133
}
134134
135135
// ... the rest of your function
@@ -141,7 +141,7 @@ export default myFunc;
141141
Copying and pasting the above can be tedious, so we've added a higher order function to wrap your run-warm functions. You still need to config the ping in your `serverless.yml` file; then your function should look like this:
142142

143143
```javascript
144-
import runWarm from "./utils";
144+
import runWarm from './utils';
145145
146146
const myFunc = (event, context, callback) => {
147147
// Your function logic
@@ -150,6 +150,26 @@ const myFunc = (event, context, callback) => {
150150
export default runWarm(myFunc);
151151
```
152152

153+
## Environment Variables
154+
155+
If you have environment variables stored in a `.env` file, you can reference them inside your `serverless.yml` and inside your functions. Considering you have a `NAME` variable:
156+
157+
In a function:
158+
159+
```node
160+
process.env.NAME
161+
```
162+
163+
In `serverless.yml`:
164+
165+
```yaml
166+
provider:
167+
name: ${env:NAME}
168+
runtime: nodejs6.10
169+
```
170+
171+
You can check the documentation [here](https://www.npmjs.com/package/serverless-dotenv-plugin).
172+
153173
## Deploy
154174

155175
Assuming you've already set up your default AWS credentials (or have set a different AWS profile via [the profile field](serverless.yml#L25)):

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
"nodemon": "^1.18.9",
4040
"prettier": "^1.14.2",
4141
"serverless": "^1.32.0",
42+
"serverless-dotenv-plugin": "^2.0.1",
4243
"serverless-offline": "^4.0.0",
4344
"serverless-webpack": "^5.2.0",
4445
"ts-jest": "^24.0.0",
@@ -51,7 +52,9 @@
5152
"webpack-node-externals": "^1.7.2"
5253
},
5354
"dependencies": {
54-
"@types/aws-lambda": "^8.10.15"
55+
"@types/aws-lambda": "^8.10.15",
56+
"@types/node": "^11.13.0",
57+
"debug": "^4.1.1"
5558
},
5659
"husky": {
5760
"hooks": {

serverless.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,3 +119,4 @@ functions:
119119
plugins:
120120
- serverless-webpack
121121
- serverless-offline
122+
- serverless-dotenv-plugin

yarn.lock

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -776,6 +776,11 @@
776776
version "0.0.29"
777777
resolved "http://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
778778

779+
"@types/node@^11.13.0":
780+
version "11.13.0"
781+
resolved "https://registry.yarnpkg.com/@types/node/-/node-11.13.0.tgz#b0df8d6ef9b5001b2be3a94d909ce3c29a80f9e1"
782+
integrity sha512-rx29MMkRdVmzunmiA4lzBYJNnXsW/PhG4kMBy2ATsYaDjGGR75dCFEVVROKpNwlVdcUX3xxlghKQOeDPBJobng==
783+
779784
"@webassemblyjs/ast@1.5.13":
780785
version "1.5.13"
781786
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.5.13.tgz#81155a570bd5803a30ec31436bc2c9c0ede38f25"
@@ -2340,6 +2345,13 @@ debug@^4.0.1, debug@^4.1.0:
23402345
dependencies:
23412346
ms "^2.1.1"
23422347

2348+
debug@^4.1.1:
2349+
version "4.1.1"
2350+
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
2351+
integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
2352+
dependencies:
2353+
ms "^2.1.1"
2354+
23432355
decamelize@^1.0.0, decamelize@^1.1.1:
23442356
version "1.2.0"
23452357
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
@@ -2537,6 +2549,16 @@ dot-prop@^4.1.0:
25372549
dependencies:
25382550
is-obj "^1.0.0"
25392551

2552+
dotenv-expand@^4.0.1:
2553+
version "4.2.0"
2554+
resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-4.2.0.tgz#def1f1ca5d6059d24a766e587942c21106ce1275"
2555+
integrity sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU=
2556+
2557+
dotenv@^4.0.0:
2558+
version "4.0.0"
2559+
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d"
2560+
integrity sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0=
2561+
25402562
download@^5.0.2:
25412563
version "5.0.3"
25422564
resolved "https://registry.yarnpkg.com/download/-/download-5.0.3.tgz#63537f977f99266a30eb8a2a2fbd1f20b8000f7a"
@@ -6645,6 +6667,15 @@ serve-static@1.13.2:
66456667
parseurl "~1.3.2"
66466668
send "0.16.2"
66476669

6670+
serverless-dotenv-plugin@^2.0.1:
6671+
version "2.0.1"
6672+
resolved "https://registry.yarnpkg.com/serverless-dotenv-plugin/-/serverless-dotenv-plugin-2.0.1.tgz#a2dbee0030c3bbd5801b37ca9266405ce5d9304b"
6673+
integrity sha512-qtahguv0X3UOeFdJ7C27CoRp9/6dqwTNTe+mZLPX5FDBQwhDOZzKtVIeW7bJLKWzz3JnAJfCOqpArWLpZduHBA==
6674+
dependencies:
6675+
chalk "^2.1.0"
6676+
dotenv "^4.0.0"
6677+
dotenv-expand "^4.0.1"
6678+
66486679
serverless-offline@^4.0.0:
66496680
version "4.0.0"
66506681
resolved "https://registry.yarnpkg.com/serverless-offline/-/serverless-offline-4.0.0.tgz#3ba9fe467ed6b7a0e4661160b2d7929bd5ca03df"

0 commit comments

Comments
 (0)