diff --git a/api/package.json b/api/package.json index ea75df5..a483c9e 100644 --- a/api/package.json +++ b/api/package.json @@ -11,9 +11,14 @@ "passport-jwt": "^4.0.0", "shortid": "^2.2.15" }, - "devDependencies": {}, + "devDependencies": { + "webpack": "^4.43.0", + "webpack-cli": "^3.3.11", + "webpack-node-externals": "^1.7.2" + }, "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" && exit 1", + "build": "rimraf dist && webpack --config ./webpack.config.js --progress --profile --colors" }, "author": "", "license": "ISC" diff --git a/api/serverless.yml b/api/serverless.yml index 69a94b2..641c36e 100644 --- a/api/serverless.yml +++ b/api/serverless.yml @@ -3,7 +3,10 @@ component: express@1.0.8 name: fullstack-api inputs: - src: ./ + src: + src: ./src + hook: npm run build + dist: ./dist roleName: ${output:fullstack-permissions.name} domain: api.${env:domain} env: diff --git a/api/app.js b/api/src/app.js similarity index 97% rename from api/app.js rename to api/src/app.js index f5c9c63..2662d31 100644 --- a/api/app.js +++ b/api/src/app.js @@ -13,7 +13,7 @@ require('./config/passport')(passport) */ // Enable CORS -app.use(function(req, res, next) { +app.use(function (req, res, next) { res.header('Access-Control-Allow-Origin', '*') res.header('Access-Control-Allow-Methods', '*') res.header('Access-Control-Allow-Headers', '*') diff --git a/api/config/passport.js b/api/src/config/passport.js similarity index 100% rename from api/config/passport.js rename to api/src/config/passport.js diff --git a/api/controllers/index.js b/api/src/controllers/index.js similarity index 100% rename from api/controllers/index.js rename to api/src/controllers/index.js diff --git a/api/controllers/users.js b/api/src/controllers/users.js similarity index 100% rename from api/controllers/users.js rename to api/src/controllers/users.js diff --git a/api/models/index.js b/api/src/models/index.js similarity index 100% rename from api/models/index.js rename to api/src/models/index.js diff --git a/api/models/users.js b/api/src/models/users.js similarity index 100% rename from api/models/users.js rename to api/src/models/users.js diff --git a/api/utils/index.js b/api/src/utils/index.js similarity index 100% rename from api/utils/index.js rename to api/src/utils/index.js diff --git a/api/webpack.config.js b/api/webpack.config.js new file mode 100644 index 0000000..a07c5e9 --- /dev/null +++ b/api/webpack.config.js @@ -0,0 +1,16 @@ +const path = require('path') +const nodeExternals = require('webpack-node-externals') + +module.exports = { + entry: './src/app.js', + output: { + filename: 'app.js', + path: path.resolve(__dirname, 'dist') + }, + target: 'node', // THIS IS THE IMPORTANT PART + externals: [ + 'aws-sdk', + nodeExternals(), + ], + mode: 'development' +}