@@ -68,7 +68,15 @@ module.exports = class Config {
6868 watchOptions : Joi . object ( ) . default ( ) . keys ( {
6969 ignored : Joi . array ( ) . default ( 'node_modules' )
7070 } ) ,
71- server : Joi . object ( ) . default ( { } ) ,
71+ server : Joi . default ( { } )
72+ . when ( 'proxy' , { is : Joi . exist ( ) ,
73+ then : Joi . required ( ) . only ( false ) ,
74+ otherwise : Joi . object ( )
75+ } ) ,
76+ proxy : Joi . alternatives ( ) . try (
77+ Joi . object ( ) . keys ( { target : Joi . string ( ) . required ( ) } ) ,
78+ Joi . string ( )
79+ ) . optional ( ) ,
7280 port : Joi . number ( ) . default ( 1111 ) ,
7381 middleware : Joi . array ( ) . default ( [ ] ) ,
7482 logLevel : Joi . string ( ) . default ( 'silent' ) ,
@@ -83,7 +91,9 @@ module.exports = class Config {
8391 let res = validation . value
8492
8593 // Joi can't handle defaulting this, so we do it manually
86- res . server . server . baseDir = res . outputDir . replace ( res . root , '' )
94+ if ( res . server . server ) {
95+ res . server . server . baseDir = res . outputDir . replace ( res . root , '' )
96+ }
8797
8898 // add cleanUrls middleware to browserSync if cleanUrls === true
8999 if ( res . cleanUrls ) {
0 commit comments