One thing I do, as I don't develop in Linux, regarding packaging dependencies, is I'll write modern syntax (babel, env, etc) and output to dist, with a package.json with a build date and only the dependencies needed to run... then I'll use docker to get the packages for a linux env, and zip the results... IIRC, my command line for docker is as follows, may not be exact, I'm not at work.
docker -i -v "${PWD}/dist":/app -w /app node:6.10 npm i
This is in my build script (shell.js) and after that I use infozip to zip that directory into `builds/${}package.name}-${package.version}-${package.build}.zip` ... the build date is `new Date().toJSON().replace(/\D/g, '').substr(0, 14)`.
I do similar for my Elastic Beanstalk output, but that will put the dockerfile (FROM node:6.10-onbuild) into dist, and zip that into a bundle without the npm install. It winds up working very well for publishing to AWS.
Table of Contents:
* Intro to Serverless Computing
* Building your first Lambda function with Node
* Deploying AWS Functions
* Meet the Serverless Framework
* Drawbacks & Benefits of AWS Lambda