From 22386e6dee24dfe57aa928e789942832e5c6efc2 Mon Sep 17 00:00:00 2001 From: Maxim Ivanov Date: Thu, 20 Dec 2018 21:31:29 -0500 Subject: [PATCH 1/2] merge current build context environment vars for lambda build --- lib/build.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/build.js b/lib/build.js index 66ec33fd..db3c1c99 100644 --- a/lib/build.js +++ b/lib/build.js @@ -16,6 +16,15 @@ function getBabelTarget(envConfig) { function webpackConfig(dir, additionalConfig) { var config = conf.load(); var envConfig = config.build.environment || config.build.Environment || {}; + var context = ( + process.env.CONTEXT && + config.context && + config.context[process.env.CONTEXT] && + (config.context[process.env.CONTEXT].environment || config.context[process.env.CONTEXT].Environment) + ) || {}; + Object.keys(context).forEach(key => { + envConfig[key] = context[key]; + }); var babelOpts = { cacheDirectory: true }; if (!fs.existsSync(path.join(process.cwd(), ".babelrc"))) { babelOpts.presets = [ From ff6fcba29db150ab08b4872254fa71bf0d1fff0f Mon Sep 17 00:00:00 2001 From: Maxim Ivanov Date: Mon, 31 Dec 2018 03:14:25 -0500 Subject: [PATCH 2/2] add branch config --- .gitignore | 1 + lib/build.js | 20 ++++++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index c2658d7d..a6ec74b1 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ node_modules/ +*.swp diff --git a/lib/build.js b/lib/build.js index db3c1c99..5b289893 100644 --- a/lib/build.js +++ b/lib/build.js @@ -13,18 +13,26 @@ function getBabelTarget(envConfig) { return unknown ? "6.10" : current.replace(/^nodejs/, ""); } -function webpackConfig(dir, additionalConfig) { - var config = conf.load(); +function loadEnvironment(config) { var envConfig = config.build.environment || config.build.Environment || {}; - var context = ( + var contextConfig = ( process.env.CONTEXT && config.context && config.context[process.env.CONTEXT] && (config.context[process.env.CONTEXT].environment || config.context[process.env.CONTEXT].Environment) ) || {}; - Object.keys(context).forEach(key => { - envConfig[key] = context[key]; - }); + var branchConfig = ( + process.env.BRANCH && + config.context && + config.context[process.env.BRANCH] && + (config.context[process.env.BRANCH].environment || config.context[process.env.BRANCH].Environment) + ) || {}; + return merge(envConfig, contextConfig, branchConfig); +} + +function webpackConfig(dir, additionalConfig) { + var config = conf.load(); + var envConfig = loadEnvironment(config); var babelOpts = { cacheDirectory: true }; if (!fs.existsSync(path.join(process.cwd(), ".babelrc"))) { babelOpts.presets = [