diff --git a/README.md b/README.md
index 42f1048a4..520447e37 100644
--- a/README.md
+++ b/README.md
@@ -70,6 +70,7 @@ serverless install -u https://github.com/serverless/examples/tree/master/folder-
| [Dropbox](https://github.com/serverless/examples/tree/master/aws-node-oauth-dropbox-api)
dropbox integration | nodeJS |
| [Aws Node Puppeteer](https://github.com/serverless/examples/tree/master/aws-node-puppeteer)
When it comes to AWS Lambda functionΒ , they have their own limits as follows  SoΒ , When you try to use Puppeteer your deployment package size(unzipped) easily go's above 250 mb because When you install Puppeteer, it downloads a recent version of Chromium (~170MB Mac, ~282MB Linux, ~280MB Win) that is guaranteed to work with the API. | nodeJS |
| [Aws Node Rekognition Analysis S3 Image](https://github.com/serverless/examples/tree/master/aws-node-rekognition-analysis-s3-image)
Analyse an Image from an S3 Bucket with Amazon Rekognition | nodeJS |
+| [Serverless Babel Webpack Sample](https://github.com/serverless/examples/tree/master/aws-node-rest-api-babel-webpack)
A simple way to create an AWS API Gateway lambda | nodeJS |
| [Aws Node Restapi Mongodb](https://github.com/serverless/examples/tree/master/aws-node-rest-api-mongodb)
Serverless REST API with MongoDB using Mongoose and Bluebird | nodeJS |
| [Aws Node Rest Api Typescript](https://github.com/serverless/examples/tree/master/aws-node-rest-api-typescript-simple) | nodeJS |
| [Aws Node Typescript Rest Api](https://github.com/serverless/examples/tree/master/aws-node-rest-api-typescript)
This is simple REST API example for AWS Lambda By Serverless framwork with TypeScript and MongoDB Atlas. | nodeJS |
diff --git a/aws-node-rest-api-babel-webpack/.babelrc b/aws-node-rest-api-babel-webpack/.babelrc
new file mode 100755
index 000000000..9c1c6ecb8
--- /dev/null
+++ b/aws-node-rest-api-babel-webpack/.babelrc
@@ -0,0 +1,13 @@
+{
+ "plugins": ["source-map-support"],
+ "presets": [
+ [
+ "@babel/preset-env",
+ {
+ "targets": {
+ "node": "8.10"
+ }
+ }
+ ]
+ ]
+}
diff --git a/aws-node-rest-api-babel-webpack/.gitignore b/aws-node-rest-api-babel-webpack/.gitignore
new file mode 100644
index 000000000..64f0cabf7
--- /dev/null
+++ b/aws-node-rest-api-babel-webpack/.gitignore
@@ -0,0 +1,10 @@
+# Dependency directories
+node_modules/
+jspm_packages/
+
+# Build folders/files
+.serverless
+.webpack
+.docker
+jsconfig.json
+
diff --git a/aws-node-rest-api-babel-webpack/README.md b/aws-node-rest-api-babel-webpack/README.md
new file mode 100644
index 000000000..8eeda57aa
--- /dev/null
+++ b/aws-node-rest-api-babel-webpack/README.md
@@ -0,0 +1,72 @@
+# Serverless + Webpack + Babel Sample
+---
+
+
+
+[](http://www.serverless.com)
+[](https://www.codacy.com/gh/pcrodrigues0/serverless-babel-webpack/dashboard?utm_source=github.com&utm_medium=referral&utm_content=pcrodrigues0/serverless-babel-webpack&utm_campaign=Badge_Grade)
+
+[](https://www.linkedin.com/in/pcqrodrigues/)
+---
+#### Setup
+You need to:
+* [Configure the aws credentials](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)
+* [Serverless framework](https://serverless.com) installed.
+* [Node.js](https://nodejs.org/)
+* [Yarn](https://yarnpkg.com/) or [Npm](https://www.npmjs.com/)
+
+### To Test It Locally π»
+
+* Run ```npm install``` or ```yarn``` to install all the necessary dependencies.
+* Run ```npm start:local``` or ```yarn start:local``` use serverless offline to test locally.
+
+The expected result should be similar to:
+
+```
+Serverless: Bundling with Webpack...
+Time: 659ms
+Built at: 10/27/2020 7:18:32 PM
+ Asset Size Chunks Chunk Names
+ src/index.js 5.99 KiB src/index [emitted] src/index
+src/index.js.map 4.58 KiB src/index [emitted] [dev] src/index
+Entrypoint src/index = src/index.js src/index.js.map
+[./src/helpers/response.js] 238 bytes {src/index} [built]
+[./src/index.js] 209 bytes {src/index} [built]
+[source-map-support/register] external "source-map-support/register" 42 bytes {src/index} [built]
+Serverless: Watching for changes...
+offline: Starting Offline: local/us-east-1.
+offline: Offline [http for lambda] listening on http://localhost:3002
+
+ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
+ β β
+ β GET | http://localhost:3000/local/test β
+ β POST | http://localhost:3000/2015-03-31/functions/getTeste/invocations β
+ β β
+ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
+
+offline: [HTTP] server ready: http://localhost:3000 π
+offline:
+offline: Enter "rp" to replay the last request
+```
+
+### Deploy on AWS π
+
+```
+$ npm run deploy:{yourStage}
+```
+or
+```
+$ yarn deploy:{yourStage}
+```
+
+## Usage π
+
+send an HTTP request directly to the endpoint using a tool like curl
+
+```
+curl https://xxxxxxxxx.execute-api.us-east-1.amazonaws.com/{stage}/test
+```
+
+## Scaling π
+
+By default, AWS Lambda limits the total concurrent executions across all functions within a given region to 100. The default limit is a safety limit that protects you from costs due to potential runaway or recursive functions during initial development and testing. To increase this limit above the default, follow the steps in [To request a limit increase for concurrent executions](http://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html#increase-concurrent-executions-limit).
diff --git a/aws-node-rest-api-babel-webpack/environments.yml b/aws-node-rest-api-babel-webpack/environments.yml
new file mode 100644
index 000000000..60c0ee683
--- /dev/null
+++ b/aws-node-rest-api-babel-webpack/environments.yml
@@ -0,0 +1,2 @@
+default:
+ SLS_STAGE: ${self:custom.stage}
diff --git a/aws-node-rest-api-babel-webpack/functions.yml b/aws-node-rest-api-babel-webpack/functions.yml
new file mode 100644
index 000000000..b3390cf10
--- /dev/null
+++ b/aws-node-rest-api-babel-webpack/functions.yml
@@ -0,0 +1,11 @@
+getTeste:
+ name: teste-${self:custom.stage}-query
+ description: Test Query for sample api gateway lambda
+ handler: ${self:custom.basePath, ''}src/index.handler
+ memorySize: 128
+ timeout: 30
+ events:
+ - http:
+ path: test
+ method: get
+ cors: true
diff --git a/aws-node-rest-api-babel-webpack/package.json b/aws-node-rest-api-babel-webpack/package.json
new file mode 100755
index 000000000..7b8295489
--- /dev/null
+++ b/aws-node-rest-api-babel-webpack/package.json
@@ -0,0 +1,36 @@
+{
+ "name": "serverless-babel-webpack-sample",
+ "version": "1.0.1",
+ "description": "A simple way to create an AWS API Gateway lambda",
+ "scripts": {
+ "lint": "eslint .",
+ "start:local": "sls offline",
+ "deploy:dev": "sls deploy --stage dev",
+ "deploy:qa": "sls deploy --stage qa",
+ "deploy:staging": "sls deploy --stage staging",
+ "deploy:prod": "AWS_PROFILE=your-production-profile SLS_STAGE=prod serverless deploy --stage prod"
+ },
+ "devDependencies": {
+ "eslint": "^5.15.3",
+ "eslint-config-airbnb-base": "^10.0.1",
+ "eslint-plugin-import": "^2.16.0",
+ "@babel/core": "^7.2.2",
+ "@babel/preset-env": "^7.3.1",
+ "babel-loader": "^8.0.5",
+ "babel-plugin-source-map-support": "^2.0.1",
+ "serverless-offline": "^6.5.0",
+ "webpack": "^4.29.3"
+ },
+ "dependencies": {
+ "serverless-webpack": "^5.2.0",
+ "source-map-support": "^0.5.10",
+ "webpack-node-externals": "^1.7.2"
+ },
+ "engines": {
+ "node": ">= 12.18",
+ "yarn": ">= 1.22.5"
+ },
+ "author": "Paulo Rodrigues ",
+ "license": "MIT",
+ "private": true
+}
diff --git a/aws-node-rest-api-babel-webpack/serverless.yml b/aws-node-rest-api-babel-webpack/serverless.yml
new file mode 100755
index 000000000..6be285402
--- /dev/null
+++ b/aws-node-rest-api-babel-webpack/serverless.yml
@@ -0,0 +1,42 @@
+service: sample-api-gateway
+
+plugins:
+ - serverless-webpack
+ - serverless-offline
+
+custom:
+ stage: ${opt:stage, 'local'}
+ basePath: ''
+ webpack:
+ webpackConfig: ./webpack.config.js
+ includeModules: true
+ packager: yarn
+
+provider:
+ name: aws
+ runtime: nodejs12.x
+ tags:
+ projeto: sample-api-gateway
+ stage: ${opt:stage, 'dev'}
+ apiName: ${self:service}
+ stackName: ${self:service}-${self:custom.stage}
+ deploymentBucket:
+ name: dev-projectname-deploys
+ memorySize: 256
+ timeout: 30
+ versionFunctions: true
+ logRetentionInDays: 14
+
+ environment: ${file(./environments.yml):${self:custom.stage}, file(./environments.yml):default}
+
+functions: ${file(./functions.yml)}
+
+package:
+ individually: true
+ excludeDevDependencies: true
+ exclude:
+ - README.md
+ - .serverless/**
+ - .webpack/**
+ - test/**
+ - /*.yml
diff --git a/aws-node-rest-api-babel-webpack/src/helpers/response.js b/aws-node-rest-api-babel-webpack/src/helpers/response.js
new file mode 100644
index 000000000..5a39ff227
--- /dev/null
+++ b/aws-node-rest-api-babel-webpack/src/helpers/response.js
@@ -0,0 +1,7 @@
+export default (statusCode, message) => ({
+ statusCode,
+ headers: {
+ 'Access-Control-Allow-Origin': '*',
+ },
+ body: JSON.stringify(message),
+});
diff --git a/aws-node-rest-api-babel-webpack/src/index.js b/aws-node-rest-api-babel-webpack/src/index.js
new file mode 100755
index 000000000..a647b472a
--- /dev/null
+++ b/aws-node-rest-api-babel-webpack/src/index.js
@@ -0,0 +1,6 @@
+import createResponse from './helpers/response';
+
+export const handler = async () =>
+ createResponse(200, {
+ message: 'Encountered a test!',
+ });
diff --git a/aws-node-rest-api-babel-webpack/webpack.config.js b/aws-node-rest-api-babel-webpack/webpack.config.js
new file mode 100755
index 000000000..433a8adb9
--- /dev/null
+++ b/aws-node-rest-api-babel-webpack/webpack.config.js
@@ -0,0 +1,26 @@
+const slsw = require('serverless-webpack');
+const nodeExternals = require('webpack-node-externals');
+
+module.exports = {
+ entry: slsw.lib.entries,
+ target: 'node',
+ devtool: 'source-map',
+ externals: [nodeExternals()],
+ mode: slsw.lib.webpack.isLocal ? 'development' : 'production',
+ optimization: {
+ minimize: false,
+ },
+ performance: {
+ hints: false,
+ },
+ module: {
+ rules: [
+ {
+ test: /\.js$/,
+ loader: 'babel-loader',
+ include: __dirname,
+ exclude: /node_modules/,
+ },
+ ],
+ },
+};