From fe70aefa9b2c95059225a6876fce2348da5cb63f Mon Sep 17 00:00:00 2001 From: Martin Hicks Date: Thu, 27 May 2021 19:44:31 +0100 Subject: [PATCH 1/3] determine if lambda is using deno runtime, add it to the install queue for hydration --- src/lib/maybe-hydrate.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/lib/maybe-hydrate.js b/src/lib/maybe-hydrate.js index 79dbb65f..834932e2 100644 --- a/src/lib/maybe-hydrate.js +++ b/src/lib/maybe-hydrate.js @@ -91,6 +91,18 @@ module.exports = function maybeHydrate (inventory, callback) { } else callback() }, + function _deno(callback) { + if(inv.lambdasBySrcDir[path] !== undefined) { + let isDenoRuntime = (inv.lambdasBySrcDir[path].config.runtime === 'deno') + if(isDenoRuntime) { + install(callback) + } + else callback() + + } + else callback() + + } ], callback) } }) From 3d9697daa64243b79335984e493b6abbb1750fdc Mon Sep 17 00:00:00 2001 From: Martin Hicks Date: Thu, 27 May 2021 19:45:15 +0100 Subject: [PATCH 2/3] spawn Deno, setting DENO_DIR=./vendor/.deno_cache so the pre-cached dependencies are used --- src/invoke-lambda/run-in-deno.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/invoke-lambda/run-in-deno.js b/src/invoke-lambda/run-in-deno.js index f43585b3..a7649b4d 100644 --- a/src/invoke-lambda/run-in-deno.js +++ b/src/invoke-lambda/run-in-deno.js @@ -3,10 +3,12 @@ let spawn = require('./spawn') module.exports = function runInNode (params, callback) { let deno = join(__dirname, 'runtimes', 'deno.js') + let root = params.options.env.LAMBDA_TASK_ROOT + params.options.env = {...params.options.env, 'DENO_DIR': join(root, 'vendor', '.deno_cache')} spawn({ command: 'deno', args: [ - 'run', '-A', '--unstable', '--reload', deno + 'run', '-A', '--unstable', deno ], ...params, }, callback) From 86198a13b530d7254bccdd5a49c9c65ecfa2fd70 Mon Sep 17 00:00:00 2001 From: Martin Hicks Date: Mon, 31 May 2021 18:23:54 +0100 Subject: [PATCH 3/3] CR feedback --- src/invoke-lambda/run-in-deno.js | 2 +- src/lib/maybe-hydrate.js | 17 ++++++----------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/invoke-lambda/run-in-deno.js b/src/invoke-lambda/run-in-deno.js index a7649b4d..800a4524 100644 --- a/src/invoke-lambda/run-in-deno.js +++ b/src/invoke-lambda/run-in-deno.js @@ -4,7 +4,7 @@ let spawn = require('./spawn') module.exports = function runInNode (params, callback) { let deno = join(__dirname, 'runtimes', 'deno.js') let root = params.options.env.LAMBDA_TASK_ROOT - params.options.env = {...params.options.env, 'DENO_DIR': join(root, 'vendor', '.deno_cache')} + params.options.env = { ...params.options.env, 'DENO_DIR': join(root, 'vendor', '.deno_cache') } spawn({ command: 'deno', args: [ diff --git a/src/lib/maybe-hydrate.js b/src/lib/maybe-hydrate.js index 834932e2..113a5922 100644 --- a/src/lib/maybe-hydrate.js +++ b/src/lib/maybe-hydrate.js @@ -91,17 +91,12 @@ module.exports = function maybeHydrate (inventory, callback) { } else callback() }, - function _deno(callback) { - if(inv.lambdasBySrcDir[path] !== undefined) { - let isDenoRuntime = (inv.lambdasBySrcDir[path].config.runtime === 'deno') - if(isDenoRuntime) { - install(callback) - } - else callback() - - } - else callback() - + function _deno (callback) { + let isDenoRuntime = (path !== shared && path !== views && inv.lambdasBySrcDir[path].config.runtime === 'deno') + if (isDenoRuntime) { + install(callback) + } + else callback() } ], callback) }