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.
		
		
		
		
		
			
		
			
				
					
					
						
							52 lines
						
					
					
						
							1.4 KiB
						
					
					
				
			
		
		
	
	
							52 lines
						
					
					
						
							1.4 KiB
						
					
					
				"use strict"; | 
						|
 | 
						|
const { | 
						|
  inspect | 
						|
} = require('util'); | 
						|
 | 
						|
const _ = require('lodash'); | 
						|
 | 
						|
const MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; | 
						|
exports.createAssetsFilter = createAssetsFilter; | 
						|
 | 
						|
function createAssetsFilter(excludePatterns) { | 
						|
  const excludeFunctions = _(excludePatterns).castArray().compact().map(pattern => { | 
						|
    if (typeof pattern === 'string') { | 
						|
      pattern = new RegExp(pattern, 'u'); | 
						|
    } | 
						|
 | 
						|
    if (_.isRegExp(pattern)) { | 
						|
      return asset => pattern.test(asset); | 
						|
    } | 
						|
 | 
						|
    if (!_.isFunction(pattern)) { | 
						|
      throw new TypeError(`Pattern should be either string, RegExp or a function, but "${inspect(pattern, { | 
						|
        depth: 0 | 
						|
      })}" got.`); | 
						|
    } | 
						|
 | 
						|
    return pattern; | 
						|
  }).value(); | 
						|
 | 
						|
  if (excludeFunctions.length) { | 
						|
    return asset => _.every(excludeFunctions, fn => fn(asset) !== true); | 
						|
  } else { | 
						|
    return () => true; | 
						|
  } | 
						|
} | 
						|
/** | 
						|
 * @desc get string of current time | 
						|
 * format: dd/MMM HH:mm | 
						|
 * */ | 
						|
 | 
						|
 | 
						|
exports.defaultTitle = function () { | 
						|
  const time = new Date(); | 
						|
  const year = time.getFullYear(); | 
						|
  const month = MONTHS[time.getMonth()]; | 
						|
  const day = time.getDate(); | 
						|
  const hour = `0${time.getHours()}`.slice(-2); | 
						|
  const minute = `0${time.getMinutes()}`.slice(-2); | 
						|
  const currentTime = `${day} ${month} ${year} at ${hour}:${minute}`; | 
						|
  return `${process.env.npm_package_name || 'Webpack Bundle Analyzer'} [${currentTime}]`; | 
						|
}; |