@@ -4,14 +4,24 @@ var conf = require("./config");
4
4
var webpack = require ( "webpack" ) ;
5
5
var merge = require ( "webpack-merge" ) ;
6
6
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 ( / ^ n o d e j s / , '' ) ;
14
+ }
15
+
7
16
function webpackConfig ( dir , additionalConfig ) {
8
17
var config = conf . load ( ) ;
18
+ var envConfig = config . build . environment || config . build . Environment || { } ;
9
19
var babelOpts = { cacheDirectory : true } ;
10
20
if ( ! fs . existsSync ( path . join ( process . cwd ( ) , '.babelrc' ) ) ) {
11
21
babelOpts . presets = [
12
22
[ "env" , {
13
23
targets : {
14
- node : "6.10"
24
+ node : getBabelTarget ( envConfig )
15
25
}
16
26
} ]
17
27
] ;
@@ -32,7 +42,6 @@ function webpackConfig(dir, additionalConfig) {
32
42
33
43
// Include environment variables from config if available
34
44
var defineEnv = { } ;
35
- var envConfig = config . build . environment || config . build . Environment || { } ;
36
45
Object . keys ( envConfig ) . forEach ( ( key ) => {
37
46
defineEnv [ "process.env." + key ] = JSON . stringify ( envConfig [ key ] ) ;
38
47
} ) ;
0 commit comments