diff --git a/src/utils.js b/src/utils.js index f826d9a5..2b579e54 100644 --- a/src/utils.js +++ b/src/utils.js @@ -1,6 +1,8 @@ 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) { @@ -32,3 +34,17 @@ function createAssetsFilter(excludePatterns) { return () => true; } } + +/** + * @desc get string of current time + * format: dd/MMM HH:mm + * */ +exports.getCurrentTime = function () { + const time = new Date(); + const year = time.getFullYear(); + const month = MONTHS[time.getMonth()]; + const day = time.getDate(); + const hour = time.getHours(); + const minute = time.getMinutes(); + return `${day} ${month} ${year} at ${hour}:${minute}`; +}; diff --git a/src/viewer.js b/src/viewer.js index 2c6fd5fc..47c620a0 100644 --- a/src/viewer.js +++ b/src/viewer.js @@ -10,6 +10,7 @@ const opener = require('opener'); const mkdir = require('mkdirp'); const {bold} = require('chalk'); +const utils = require('./utils'); const Logger = require('./Logger'); const analyzer = require('./analyzer'); @@ -23,6 +24,8 @@ module.exports = { start: startServer }; +const title = `${process.env.npm_package_name || 'Webpack Bundle Analyzer'} [${utils.getCurrentTime()}]`; + async function startServer(bundleStats, opts) { const { port = 8888, @@ -52,6 +55,7 @@ async function startServer(bundleStats, opts) { app.use('/', (req, res) => { res.render('viewer', { mode: 'server', + title, get chartData() { return chartData }, defaultSizes, enableWebSocket: true, @@ -133,6 +137,7 @@ async function generateReport(bundleStats, opts) { `${projectRoot}/views/viewer.ejs`, { mode: 'static', + title, chartData, defaultSizes, enableWebSocket: false, diff --git a/views/viewer.ejs b/views/viewer.ejs index deb189b3..f90f71f7 100644 --- a/views/viewer.ejs +++ b/views/viewer.ejs @@ -3,7 +3,8 @@ - Webpack Bundle Analyzer + <%= title %> + <%- include('script', { filename: 'viewer.js' }) %>