@@ -27,7 +27,7 @@ const PATHS_TO_STATIC = [
2727 `${ PATH_TO_SOURCE } fonts/**/*.{woff2,woff}` ,
2828 `${ PATH_TO_SOURCE } *.ico` ,
2929 `${ PATH_TO_SOURCE } *.webmanifest` ,
30- `${ PATH_TO_SOURCE } favicons/*.{png,svg}` ,
30+ `${ PATH_TO_SOURCE } favicons/**/* .{png,svg}` ,
3131 `${ PATH_TO_SOURCE } vendor/**/*` ,
3232 `${ PATH_TO_SOURCE } images/**/*` ,
3333 `!${ PATH_TO_SOURCE } images/icons/**/*` ,
@@ -118,42 +118,26 @@ export function createStack () {
118118 . pipe ( dest ( `${ PATH_TO_DIST } images/icons` ) ) ;
119119}
120120
121- export function copyAssets ( ) {
121+ export function copyStatic ( ) {
122122 return src ( PATHS_TO_STATIC , { base : PATH_TO_SOURCE } )
123123 . pipe ( dest ( PATH_TO_DIST ) ) ;
124124}
125125
126126export function startServer ( ) {
127+ const serveStatic = PATHS_TO_STATIC
128+ . filter ( ( path ) => path . startsWith ( '!' ) === false )
129+ . map ( ( path ) => {
130+ const dir = path . replace ( / \* \* ( .* ) / , '' ) ;
131+ const route = dir . replace ( PATH_TO_SOURCE , '/' ) ;
132+
133+ return { route, dir } ;
134+ } ) ;
135+
127136 server . init ( {
128137 server : {
129138 baseDir : PATH_TO_DIST
130139 } ,
131- serveStatic : [
132- {
133- route : '/fonts' ,
134- dir : `${ PATH_TO_SOURCE } fonts` ,
135- } ,
136- {
137- route : '/*.ico' ,
138- dir : `${ PATH_TO_SOURCE } *.ico` ,
139- } ,
140- {
141- route : '/*.webmanifest' ,
142- dir : `${ PATH_TO_SOURCE } *.webmanifest` ,
143- } ,
144- {
145- route : '/favicons' ,
146- dir : `${ PATH_TO_SOURCE } favicons` ,
147- } ,
148- {
149- route : '/vendor' ,
150- dir : `${ PATH_TO_SOURCE } vendor` ,
151- } ,
152- {
153- route : '/images' ,
154- dir : `${ PATH_TO_SOURCE } images` ,
155- } ,
156- ] ,
140+ serveStatic,
157141 cors : true ,
158142 notify : false ,
159143 ui : false ,
@@ -168,7 +152,7 @@ export function startServer () {
168152 watch ( `${ PATH_TO_SOURCE } styles/**/*.scss` , series ( processStyles ) ) ;
169153 watch ( `${ PATH_TO_SOURCE } scripts/**/*.js` , series ( processScripts ) ) ;
170154 watch ( `${ PATH_TO_SOURCE } images/icons/**/*.svg` , series ( createStack , reloadServer ) ) ;
171- watch ( PATHS_TO_STATIC , series ( copyAssets , reloadServer ) ) ;
155+ watch ( PATHS_TO_STATIC , series ( reloadServer ) ) ;
172156}
173157
174158function reloadServer ( done ) {
@@ -193,7 +177,7 @@ export function buildProd (done) {
193177 processStyles ,
194178 processScripts ,
195179 createStack ,
196- copyAssets ,
180+ copyStatic ,
197181 ) ,
198182 ) ( done ) ;
199183}
0 commit comments