From 10a3ea05616e49e239ab1f4471ca35e1a9249cbd Mon Sep 17 00:00:00 2001 From: Daniel Friesen Date: Mon, 15 Aug 2016 15:27:01 -0700 Subject: [PATCH] Set environment variables before requiring module In Lambda, the process.env variables are set at the very beginning before anything is run. `run` needs to set `process.env` before it requires the handler, otherwise the handler's script file or dependencies cannot do initialization using the env variables outside of the handler itself. --- lib/main.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/main.js b/lib/main.js index d1b5b8e9..c256633f 100644 --- a/lib/main.js +++ b/lib/main.js @@ -42,15 +42,15 @@ Lambda.prototype.run = function (program) { var filename = splitHandler[0] + '.js'; var handlername = splitHandler[1]; - var handler = require(process.cwd() + '/' + filename)[handlername]; - var event = require(process.cwd() + '/' + program.eventFile); - var context = require(process.cwd() + '/' + program.contextFile); - // Set custom environment variables if program.configFile is defined if (program.configFile) { this._setRunTimeEnvironmentVars(program); } + var handler = require(process.cwd() + '/' + filename)[handlername]; + var event = require(process.cwd() + '/' + program.eventFile); + var context = require(process.cwd() + '/' + program.contextFile); + this._runHandler(handler, event, program.runtime, context); };