You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					62 lines
				
				1.4 KiB
			
		
		
			
		
	
	
					62 lines
				
				1.4 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								'use strict';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const logger = require('webpack-log');
							 | 
						||
| 
								 | 
							
								const colors = require('./colors');
							 | 
						||
| 
								 | 
							
								const runOpen = require('./runOpen');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// TODO: don't emit logs when webpack-dev-server is used via Node.js API
							 | 
						||
| 
								 | 
							
								function status(uri, options, log, useColor) {
							 | 
						||
| 
								 | 
							
								  if (options.quiet === true) {
							 | 
						||
| 
								 | 
							
								    // Add temporary logger to output just the status of the dev server
							 | 
						||
| 
								 | 
							
								    log = logger({
							 | 
						||
| 
								 | 
							
								      name: 'wds',
							 | 
						||
| 
								 | 
							
								      level: 'info',
							 | 
						||
| 
								 | 
							
								      timestamp: options.logTime,
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  const contentBase = Array.isArray(options.contentBase)
							 | 
						||
| 
								 | 
							
								    ? options.contentBase.join(', ')
							 | 
						||
| 
								 | 
							
								    : options.contentBase;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options.socket) {
							 | 
						||
| 
								 | 
							
								    log.info(`Listening to socket at ${colors.info(useColor, options.socket)}`);
							 | 
						||
| 
								 | 
							
								  } else {
							 | 
						||
| 
								 | 
							
								    log.info(`Project is running at ${colors.info(useColor, uri)}`);
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  log.info(
							 | 
						||
| 
								 | 
							
								    `webpack output is served from ${colors.info(useColor, options.publicPath)}`
							 | 
						||
| 
								 | 
							
								  );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (contentBase) {
							 | 
						||
| 
								 | 
							
								    log.info(
							 | 
						||
| 
								 | 
							
								      `Content not from webpack is served from ${colors.info(
							 | 
						||
| 
								 | 
							
								        useColor,
							 | 
						||
| 
								 | 
							
								        contentBase
							 | 
						||
| 
								 | 
							
								      )}`
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options.historyApiFallback) {
							 | 
						||
| 
								 | 
							
								    log.info(
							 | 
						||
| 
								 | 
							
								      `404s will fallback to ${colors.info(
							 | 
						||
| 
								 | 
							
								        useColor,
							 | 
						||
| 
								 | 
							
								        options.historyApiFallback.index || '/index.html'
							 | 
						||
| 
								 | 
							
								      )}`
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options.bonjour) {
							 | 
						||
| 
								 | 
							
								    log.info(
							 | 
						||
| 
								 | 
							
								      'Broadcasting "http" with subtype of "webpack" via ZeroConf DNS (Bonjour)'
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options.open) {
							 | 
						||
| 
								 | 
							
								    runOpen(uri, options, log);
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = status;
							 |