diff --git a/v14.x/bootstrap.c b/v14.x/bootstrap.c index c6bdf63..96c2a29 100644 --- a/v14.x/bootstrap.c +++ b/v14.x/bootstrap.c @@ -14,12 +14,22 @@ "/var/runtime/node_modules:" \ "/var/runtime:" \ "/var/task" +#define NODE_OPTIONS "--experimental-loader=/opt/esm-loader-hook.mjs" #define MIN_MEM_SIZE 128 #define ARG_BUF_SIZE 32 int main(void) { setenv("AWS_EXECUTION_ENV", AWS_EXECUTION_ENV, true); setenv("NODE_PATH", NODE_PATH, true); + + const char *node_options = getenv("NODE_OPTIONS"); + if (node_options != NULL) { + char custom_node_options[ARG_BUF_SIZE * 8]; + snprintf(custom_node_options, ARG_BUF_SIZE * 8, "%s %s", NODE_OPTIONS, node_options); + setenv("NODE_OPTIONS", custom_node_options, true); + } else { + setenv("NODE_OPTIONS", NODE_OPTIONS, true); + } const char *mem_size_str = getenv("AWS_LAMBDA_FUNCTION_MEMORY_SIZE"); int mem_size = mem_size_str != NULL ? atoi(mem_size_str) : MIN_MEM_SIZE; @@ -32,7 +42,6 @@ int main(void) { execv("/opt/bin/node", (char *[]){ "node", - "--experimental-loader=/opt/esm-loader-hook.mjs", "--expose-gc", max_semi_space_size, max_old_space_size, diff --git a/v14.x/bootstrap.js b/v14.x/bootstrap.js index c6e8b2a..81b61a2 100644 --- a/v14.x/bootstrap.js +++ b/v14.x/bootstrap.js @@ -160,13 +160,13 @@ async function getHandler() { } return (event, context) => new Promise((resolve, reject) => { + context.succeed = resolve + context.fail = reject + context.done = (err, data) => err ? reject(err) : resolve(data) + const callback = (err, data) => { context[CALLBACK_USED] = true - if(err) { - reject(err) - } else { - resolve(data) - } + context.done(err, data) } let result diff --git a/v14.x/config.sh b/v14.x/config.sh index 96f7eb3..5b106fd 100644 --- a/v14.x/config.sh +++ b/v14.x/config.sh @@ -1,2 +1,2 @@ export LAYER_NAME=nodejs14 -export NODE_VERSION=14.15.1 +export NODE_VERSION=14.15.4 diff --git a/v14.x/layer.zip b/v14.x/layer.zip index 743c795..e42df15 100644 Binary files a/v14.x/layer.zip and b/v14.x/layer.zip differ diff --git a/v14.x/test.sh b/v14.x/test.sh index 97922b7..e6a7dad 100755 --- a/v14.x/test.sh +++ b/v14.x/test.sh @@ -16,18 +16,18 @@ npm ci # Create zipfile for uploading to Lambda – we don't use this here rm -f lambda.zip && zip -qyr lambda.zip index.js data.json node_modules -docker run --rm -v "$PWD":/var/task -v "$PWD"/../../layer:/opt -e NODE_MODULE_LOADER_TYPE=$LOADER_TYPE lambci/lambda:provided index.handler +docker run --rm -e "NODE_OPTIONS=--enable-source-maps" -v "$PWD":/var/task -v "$PWD"/../../layer:/opt lambci/lambda:provided index.handler -docker run --rm -v "$PWD":/var/task -v "$PWD"/../../layer:/opt -e NODE_MODULE_LOADER_TYPE=$LOADER_TYPE lambci/lambda:provided index.handler2 +docker run --rm -v "$PWD":/var/task -v "$PWD"/../../layer:/opt lambci/lambda:provided index.handler -docker run --rm -v "$PWD":/var/task -v "$PWD"/../../layer:/opt -e NODE_MODULE_LOADER_TYPE=$LOADER_TYPE lambci/lambda:provided index.handler3 +docker run --rm -v "$PWD":/var/task -v "$PWD"/../../layer:/opt lambci/lambda:provided index.handler2 -docker run --rm -v "$PWD":/var/task -v "$PWD"/../../layer:/opt -e NODE_MODULE_LOADER_TYPE=$LOADER_TYPE lambci/lambda:provided index.handler4 +docker run --rm -v "$PWD":/var/task -v "$PWD"/../../layer:/opt lambci/lambda:provided index.handler3 -docker run --rm -v "$PWD":/var/task -v "$PWD"/../../layer:/opt -e NODE_MODULE_LOADER_TYPE=$LOADER_TYPE lambci/lambda:provided index.handler5 +docker run --rm -v "$PWD":/var/task -v "$PWD"/../../layer:/opt lambci/lambda:provided index.handler4 -docker run --rm -v "$PWD":/var/task -v "$PWD"/../../layer:/opt -e NODE_MODULE_LOADER_TYPE=$LOADER_TYPE lambci/lambda:provided index.handler6 +docker run --rm -v "$PWD":/var/task -v "$PWD"/../../layer:/opt lambci/lambda:provided index.handler5 -docker run --rm -v "$PWD":/var/task -v "$PWD"/../../layer:/opt -e NODE_MODULE_LOADER_TYPE=$LOADER_TYPE lambci/lambda:provided index.handler7 +docker run --rm -v "$PWD":/var/task -v "$PWD"/../../layer:/opt lambci/lambda:provided index.handler6 -docker run --rm -v "$PWD":/var/task -v "$PWD"/../../layer:/opt -e NODE_MODULE_LOADER_TYPE=invalid lambci/lambda:provided index.handler7 +docker run --rm -v "$PWD":/var/task -v "$PWD"/../../layer:/opt lambci/lambda:provided index.handler7