diff --git a/UPGRADE.md b/UPGRADE.md index d1ec167d..12c74fdc 100644 --- a/UPGRADE.md +++ b/UPGRADE.md @@ -1,5 +1,7 @@ ## From 3.x to 4.x +### Lambda Handler + ```javascript // 3.x const awsServerlessExpress = require('aws-serverless-express') @@ -32,4 +34,28 @@ serverlessExpress({ contentEncodings: [] } }) -``` \ No newline at end of file +``` + +### Get Lambda event and context + +```javascript +// 3.x +const awsServerlessExpressMiddleware = require('aws-serverless-express/middleware') +router.use(awsServerlessExpressMiddleware.eventContext()) +router.get('/', (req, res) => { + res.json({ + stage: req.apiGateway.event.requestContext.stage + }) +}) +``` + +```javascript +// 4.x +const { getCurrentInvoke } = require('@vendia/serverless-express') +router.get('/', (req, res) => { +const currentInvoke = getCurrentInvoke() + res.json({ + stage: currentInvoke.event.requestContext.stage + }) +}) +``` diff --git a/examples/alb/src/app.js b/examples/alb/src/app.js index 04a89d38..1db1f66c 100644 --- a/examples/alb/src/app.js +++ b/examples/alb/src/app.js @@ -2,21 +2,12 @@ const path = require('path') const express = require('express') const bodyParser = require('body-parser') const cors = require('cors') -// const compression = require('compression') const { getCurrentInvoke } = require('@vendia/serverless-express') const app = express() const router = express.Router() app.set('view engine', 'pug') -// if (process.env.NODE_ENV === 'test') { -// // NOTE: serverless-express uses this app for its integration tests -// // and only applies compression to the /sam endpoint during testing. -// router.use('/sam', compression()) -// } else { -// router.use(compression()) -// } - router.use(cors()) router.use(bodyParser.json()) router.use(bodyParser.urlencoded({ extended: true })) diff --git a/examples/basic-starter-api-gateway-v1/src/app.js b/examples/basic-starter-api-gateway-v1/src/app.js index 75cbaf70..80b21803 100644 --- a/examples/basic-starter-api-gateway-v1/src/app.js +++ b/examples/basic-starter-api-gateway-v1/src/app.js @@ -3,7 +3,7 @@ const express = require('express') const bodyParser = require('body-parser') const cors = require('cors') const compression = require('compression') -const { getCurrentInvoke } = require(process.env.NODE_ENV === 'test' ? '../../../src/index' : '@vendia/serverless-express') +const { getCurrentInvoke } = require('@vendia/serverless-express') const ejs = require('ejs').__express const app = express() const router = express.Router() @@ -11,13 +11,7 @@ const router = express.Router() app.set('view engine', 'ejs') app.engine('.ejs', ejs) -if (process.env.NODE_ENV === 'test') { - // NOTE: serverless-express uses this app for its integration tests - // and only applies compression to the /sam endpoint during testing. - router.use('/sam', compression()) -} else { - router.use(compression()) -} +router.use(compression()) router.use(cors()) router.use(bodyParser.json()) diff --git a/examples/basic-starter-api-gateway-v1/src/lambda.js b/examples/basic-starter-api-gateway-v1/src/lambda.js index d287401f..3adf0887 100644 --- a/examples/basic-starter-api-gateway-v1/src/lambda.js +++ b/examples/basic-starter-api-gateway-v1/src/lambda.js @@ -1,5 +1,5 @@ require('source-map-support/register') -const serverlessExpress = require(process.env.NODE_ENV === 'test' ? '../../..' : '@vendia/serverless-express') +const serverlessExpress = require('@vendia/serverless-express') const app = require('./app') // NOTE: If you get ERR_CONTENT_DECODING_FAILED in your browser, this is likely diff --git a/examples/basic-starter-api-gateway-v2/src/app.js b/examples/basic-starter-api-gateway-v2/src/app.js index 73ccce9a..089f5fa9 100644 --- a/examples/basic-starter-api-gateway-v2/src/app.js +++ b/examples/basic-starter-api-gateway-v2/src/app.js @@ -3,7 +3,7 @@ const express = require('express') const bodyParser = require('body-parser') const cors = require('cors') const compression = require('compression') -const { getCurrentInvoke } = require(process.env.NODE_ENV === 'test' ? '../../../src/index' : '@vendia/serverless-express') +const { getCurrentInvoke } = require('@vendia/serverless-express') const ejs = require('ejs').__express const app = express() const router = express.Router() @@ -11,14 +11,7 @@ const router = express.Router() app.set('view engine', 'ejs') app.engine('.ejs', ejs) -if (process.env.NODE_ENV === 'test') { - // NOTE: serverless-express uses this app for its integration tests - // and only applies compression to the /sam endpoint during testing. - router.use('/sam', compression()) -} else { - router.use(compression()) -} - +router.use(compression()) router.use(cors()) router.use(bodyParser.json()) router.use(bodyParser.urlencoded({ extended: true })) diff --git a/package.json b/package.json index ad7614cf..a3219010 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ }, "husky": { "hooks": { - "pre-push": "lint-staged && npm run install-example-dependencies && npm test", + "pre-push": "lint-staged && npm test", "commit-msg": "commitlint -e $GIT_PARAMS" } }, @@ -98,12 +98,11 @@ "release": "semantic-release", "release-local": "node -r dotenv/config node_modules/semantic-release/bin/semantic-release --no-ci --dry-run", "check-dependencies": "npx npm-check --skip-unused --update", - "lint": "eslint src examples", - "install-example-dependencies": "cd examples && npm install --prefix basic-starter-api-gateway-v1 basic-starter-api-gateway-v1 && cd .." + "lint": "eslint src examples" }, "config": { "commitizen": { "path": "cz-conventional-changelog" } } -} +} \ No newline at end of file