From c758825e3294adb8db86fc6e357ea203ee36933b Mon Sep 17 00:00:00 2001 From: 8eecf0d2 <8eecf0d23d248b0e6223b8a10ddbf1@gmail.com> Date: Thu, 11 Oct 2018 09:02:03 +1100 Subject: [PATCH 1/3] Added "-s --static" option to prevent building of files --- bin/cmd.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bin/cmd.js b/bin/cmd.js index 1313b294..0ae084e8 100755 --- a/bin/cmd.js +++ b/bin/cmd.js @@ -18,6 +18,7 @@ program.version(pkg.version); program .option("-c --config ", "additional webpack configuration") .option("-p --port ", "port to serve from (default: 9000)") + .option("-s --static", "serve pre-built lambda files") program .command("serve ") @@ -25,6 +26,10 @@ program .action(function(cmd, options) { console.log("Starting server"); var server = serve.listen(program.port || 9000); + var static = Boolean(program.static); + if(static) { + return + } build.watch(cmd, program.config, function(err, stats) { if (err) { console.error(err); From e8dfd09d827b75eb7176e21f4692e7d7c9ec42fa Mon Sep 17 00:00:00 2001 From: 8eecf0d2 <8eecf0d23d248b0e6223b8a10ddbf1@gmail.com> Date: Thu, 11 Oct 2018 09:03:05 +1100 Subject: [PATCH 2/3] Bump version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ebaca181..6acefe50 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "netlify-lambda", - "version": "0.4.0", + "version": "0.5.0", "description": "Build and serve lambda function with webpack compilation", "homepage": "https://github.com/netlify/netlify-lambda#readme", "main": "bin/cmd.js", From 654973b49d76f041f6c9c810a82ea8a8052db3ec Mon Sep 17 00:00:00 2001 From: 8eecf0d2 <8eecf0d23d248b0e6223b8a10ddbf1@gmail.com> Date: Thu, 11 Oct 2018 09:23:03 +1100 Subject: [PATCH 3/3] Removed caching when "-s --static" used --- bin/cmd.js | 2 +- lib/serve.js | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/bin/cmd.js b/bin/cmd.js index 0ae084e8..b45e335d 100755 --- a/bin/cmd.js +++ b/bin/cmd.js @@ -25,8 +25,8 @@ program .description("serve and watch functions") .action(function(cmd, options) { console.log("Starting server"); - var server = serve.listen(program.port || 9000); var static = Boolean(program.static); + var server = serve.listen(program.port || 9000, static); if(static) { return } diff --git a/lib/serve.js b/lib/serve.js index 46374e36..c4c9fbbb 100644 --- a/lib/serve.js +++ b/lib/serve.js @@ -43,12 +43,15 @@ function promiseCallback(promise, callback) { ); } -function createHandler(dir) { +function createHandler(dir, static) { return function(request, response) { var func = request.path.split("/").filter(function(e) { return e; })[0]; var module = path.join(process.cwd(), dir, func); + if(static) { + delete require.cache[require.resolve(module)] + } var handler; try { handler = require(module); @@ -75,7 +78,7 @@ function createHandler(dir) { }; } -exports.listen = function(port) { +exports.listen = function(port, static) { var config = conf.load(); var app = express(); var dir = config.build.functions || config.build.Functions; @@ -88,7 +91,7 @@ exports.listen = function(port) { app.get("/favicon.ico", function(req, res) { res.status(204).end(); }); - app.all("*", createHandler(dir)); + app.all("*", createHandler(dir, static)); app.listen(port, function(err) { if (err) {