@@ -32,12 +32,19 @@ Options.from = function (_options) {
32
32
options . layoutTransition = { name : options . layoutTransition }
33
33
}
34
34
35
+ const hasValue = v => typeof v === 'string' && v
36
+ options . rootDir = hasValue ( options . rootDir ) ? options . rootDir : process . cwd ( )
37
+
38
+ // Apply defaults by ${buildDir}/dist/build.config.js
39
+ const buildDir = options . buildDir || Options . defaults . buildDir
40
+ const buildConfig = resolve ( options . rootDir , buildDir , 'build.config.js' )
41
+ if ( existsSync ( buildConfig ) ) {
42
+ _ . defaultsDeep ( options , require ( buildConfig ) )
43
+ }
35
44
// Apply defaults
36
45
_ . defaultsDeep ( options , Options . defaults )
37
46
38
47
// Resolve dirs
39
- const hasValue = v => typeof v === 'string' && v
40
- options . rootDir = hasValue ( options . rootDir ) ? options . rootDir : process . cwd ( )
41
48
options . srcDir = hasValue ( options . srcDir ) ? resolve ( options . rootDir , options . srcDir ) : options . rootDir
42
49
options . buildDir = resolve ( options . rootDir , options . buildDir )
43
50
options . cacheDir = resolve ( options . rootDir , options . cacheDir )
@@ -185,6 +192,11 @@ Options.modes = {
185
192
}
186
193
}
187
194
195
+ Options . unsafeKeys = [
196
+ 'rootDir' , 'srcDir' , 'buildDir' , 'modulesDir' , 'cacheDir' , 'nuxtDir' ,
197
+ 'nuxtAppDir' , 'build' , 'generate' , 'router.routes' , 'appTemplatePath'
198
+ ]
199
+
188
200
Options . defaults = {
189
201
mode : 'universal' ,
190
202
dev : process . env . NODE_ENV !== 'production' ,
0 commit comments