@@ -9,7 +9,33 @@ let { SerializedRunner } = require("./util/runner");
99let browserslist = require ( "browserslist" ) ;
1010
1111exports . faucetDispatch = async function faucetDispatch ( referenceDir , config ,
12- { watch, fingerprint, sourcemaps, compact, serve, liveserve } ) {
12+ { serve, liveserve, ...options } ) {
13+ config = await config ;
14+ let res = buildOnce ( referenceDir , config , options ) ;
15+
16+ if ( options . watch ) {
17+ makeWatcher ( config . watchDirs , referenceDir ) .
18+ then ( watcher => {
19+ watcher . on ( "edit" , filepaths => {
20+ runner . rerun ( filepaths ) ;
21+ } ) ;
22+ } ) ;
23+ }
24+
25+ if ( serve && liveserve ) {
26+ abort ( "ERROR: serve and liveserve must not be used together" ) ;
27+ }
28+ if ( serve ) {
29+ server . static ( serve , assetManager . manifest . webRoot ) ;
30+ } else if ( liveserve ) {
31+ server . live ( liveserve , assetManager . manifest . webRoot ) ;
32+ }
33+
34+ return res ;
35+ } ;
36+
37+ exports . buildOnce = async function buildOnce ( referenceDir , config ,
38+ { watch, fingerprint, sourcemaps, compact } ) {
1339 config = await config ;
1440
1541 let assetManager = new AssetManager ( referenceDir , {
@@ -36,25 +62,7 @@ exports.faucetDispatch = async function faucetDispatch(referenceDir, config,
3662 then ( buildStep ( buckets . scripts . concat ( buckets . styles ) ) ) .
3763 then ( buildStep ( buckets . markup ) ) ;
3864 } ) ;
39- runner . run ( ) ;
40-
41- if ( watch ) {
42- makeWatcher ( config . watchDirs , referenceDir ) .
43- then ( watcher => {
44- watcher . on ( "edit" , filepaths => {
45- runner . rerun ( filepaths ) ;
46- } ) ;
47- } ) ;
48- }
49-
50- if ( serve && liveserve ) {
51- abort ( "ERROR: serve and liveserve must not be used together" ) ;
52- }
53- if ( serve ) {
54- server . static ( serve , assetManager . manifest . webRoot ) ;
55- } else if ( liveserve ) {
56- server . live ( liveserve , assetManager . manifest . webRoot ) ;
57- }
65+ return runner . run ( ) ;
5866} ;
5967
6068function buildStep ( plugins ) {
0 commit comments