docs: function bundleLambda(lambda, exclude, environment, bundlePath, sourceMapPath) {
      environment = environment || {};
      exclude = exclude || [];
  
      return new Promise(function(resolve, reject) {
          const bundler = new Browserify(lambda.path, {
              basedir: path.dirname(lambda.path),
              standalone: lambda.name,
              browserField: false,
              builtins: false,
              commondir: false,
              ignoreMissing: true,
              detectGlobals: true,
              debug: !!sourceMapPath,
              insertGlobalVars: {
                  process: function() {}
              }
          });
  
          // AWS SDK should always be excluded
          bundler.exclude('aws-sdk');
  
          // Further things to exclude
          [].concat(exclude).forEach(function(module) {
              bundler.exclude(module);
          });
  
          // Envify (doesn't purge, as there are valid values
          // that can be used in Lambda functions)
          if (environment) {
              bundler.transform(envify(environment), {
                  global: true
              });
          }
  
          let stream = bundler.bundle();
          if (sourceMapPath) {
              stream = stream.pipe(exorcist(sourceMapPath));
          }
  
          stream.pipe(fs.createWriteStream(bundlePath));
  
          stream.on('error', function(err) {
              reject(err);
          }).on('end', function() {
              resolve();
          });
      });
  }