@@ -13,11 +13,27 @@ function getBabelTarget(envConfig) {
13
13
return unknown ? "6.10" : current . replace ( / ^ n o d e j s / , "" ) ;
14
14
}
15
15
16
+ function haveBabelrc ( functionsDir ) {
17
+ const cwd = process . cwd ( ) ;
18
+
19
+ return (
20
+ fs . existsSync ( path . join ( cwd , ".babelrc" ) ) ||
21
+ functionsDir . split ( "/" ) . reduce ( ( foundBabelrc , dir ) => {
22
+ if ( foundBabelrc ) return foundBabelrc ;
23
+
24
+ const indexOf = functionsDir . indexOf ( dir ) ;
25
+ const dirToSearch = functionsDir . substr ( 0 , indexOf ) ;
26
+
27
+ return fs . existsSync ( path . join ( cwd , dirToSearch , ".babelrc" ) ) ;
28
+ } , false )
29
+ ) ;
30
+ }
31
+
16
32
function webpackConfig ( dir , additionalConfig ) {
17
33
var config = conf . load ( ) ;
18
34
var envConfig = config . build . environment || config . build . Environment || { } ;
19
35
var babelOpts = { cacheDirectory : true } ;
20
- if ( ! fs . existsSync ( path . join ( process . cwd ( ) , ".babelrc" ) ) ) {
36
+ if ( ! haveBabelrc ( dir ) ) {
21
37
babelOpts . presets = [
22
38
[ "@babel/preset-env" , { targets : { node : getBabelTarget ( envConfig ) } } ]
23
39
] ;
@@ -48,7 +64,7 @@ function webpackConfig(dir, additionalConfig) {
48
64
var webpackConfig = {
49
65
mode : "production" ,
50
66
resolve : {
51
- extensions : [ ' .wasm' , ' .mjs' , ' .js' , ' .json' , ' .ts' ]
67
+ extensions : [ " .wasm" , " .mjs" , " .js" , " .json" , " .ts" ]
52
68
} ,
53
69
module : {
54
70
rules : [
0 commit comments