Skip to content

Commit 5ea3ec5

Browse files
authored
Merge pull request #25 from leonardodino/custom-runtime
Custom Babel env target
2 parents d1e47ab + aa9e82c commit 5ea3ec5

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

Diff for: lib/build.js

+11-2
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,24 @@ var conf = require("./config");
44
var webpack = require("webpack");
55
var merge = require("webpack-merge");
66

7+
// custom babel target for each node version
8+
function getBabelTarget(envConfig){
9+
var key = "AWS_LAMBDA_JS_RUNTIME";
10+
var runtimes = ["nodejs8.10", "nodejs4.3.2", "nodejs6.10.3"];
11+
var current = envConfig[key] || process.env[key] || "nodejs6.10.3";
12+
var unknown = runtimes.indexOf(current) === -1;
13+
return unknown ? "6.10" : current.replace(/^nodejs/, '');
14+
}
15+
716
function webpackConfig(dir, additionalConfig) {
817
var config = conf.load();
18+
var envConfig = config.build.environment || config.build.Environment || {};
919
var babelOpts = {cacheDirectory: true};
1020
if (!fs.existsSync(path.join(process.cwd(), '.babelrc'))) {
1121
babelOpts.presets = [
1222
["env", {
1323
targets: {
14-
node: "6.10"
24+
node: getBabelTarget(envConfig)
1525
}
1626
}]
1727
];
@@ -32,7 +42,6 @@ function webpackConfig(dir, additionalConfig) {
3242

3343
// Include environment variables from config if available
3444
var defineEnv = {};
35-
var envConfig = config.build.environment || config.build.Environment || {};
3645
Object.keys(envConfig).forEach((key) => {
3746
defineEnv["process.env." + key] = JSON.stringify(envConfig[key]);
3847
});

0 commit comments

Comments
 (0)