webpack-bundle-analyzer 3.4.1 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -2
- package/lib/parseUtils.js +2 -1
- package/lib/utils.js +17 -1
- package/lib/viewer.js +5 -0
- package/package.json +1 -1
- package/public/viewer.js +2 -2
- package/public/viewer.js.map +1 -1
- package/src/parseUtils.js +2 -0
- package/src/utils.js +16 -0
- package/src/viewer.js +5 -0
- package/views/viewer.ejs +5 -2
package/src/parseUtils.js
CHANGED
|
@@ -185,6 +185,8 @@ function isAsyncChunkPushExpression(node) {
|
|
|
185
185
|
callee.object.left.object &&
|
|
186
186
|
(
|
|
187
187
|
callee.object.left.object.name === 'window' ||
|
|
188
|
+
// `self` is a common output.globalObject value used to support both workers and browsers
|
|
189
|
+
callee.object.left.object.name === 'self' ||
|
|
188
190
|
// Webpack 4 uses `this` instead of `window`
|
|
189
191
|
callee.object.left.object.type === 'ThisExpression'
|
|
190
192
|
) &&
|
package/src/utils.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
const {inspect} = require('util');
|
|
2
2
|
const _ = require('lodash');
|
|
3
3
|
|
|
4
|
+
const MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
5
|
+
|
|
4
6
|
exports.createAssetsFilter = createAssetsFilter;
|
|
5
7
|
|
|
6
8
|
function createAssetsFilter(excludePatterns) {
|
|
@@ -32,3 +34,17 @@ function createAssetsFilter(excludePatterns) {
|
|
|
32
34
|
return () => true;
|
|
33
35
|
}
|
|
34
36
|
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* @desc get string of current time
|
|
40
|
+
* format: dd/MMM HH:mm
|
|
41
|
+
* */
|
|
42
|
+
exports.getCurrentTime = function () {
|
|
43
|
+
const time = new Date();
|
|
44
|
+
const year = time.getFullYear();
|
|
45
|
+
const month = MONTHS[time.getMonth()];
|
|
46
|
+
const day = time.getDate();
|
|
47
|
+
const hour = time.getHours();
|
|
48
|
+
const minute = time.getMinutes();
|
|
49
|
+
return `${day} ${month} ${year} at ${hour}:${minute}`;
|
|
50
|
+
};
|
package/src/viewer.js
CHANGED
|
@@ -10,6 +10,7 @@ const opener = require('opener');
|
|
|
10
10
|
const mkdir = require('mkdirp');
|
|
11
11
|
const {bold} = require('chalk');
|
|
12
12
|
|
|
13
|
+
const utils = require('./utils');
|
|
13
14
|
const Logger = require('./Logger');
|
|
14
15
|
const analyzer = require('./analyzer');
|
|
15
16
|
|
|
@@ -23,6 +24,8 @@ module.exports = {
|
|
|
23
24
|
start: startServer
|
|
24
25
|
};
|
|
25
26
|
|
|
27
|
+
const title = `${process.env.npm_package_name || 'Webpack Bundle Analyzer'} [${utils.getCurrentTime()}]`;
|
|
28
|
+
|
|
26
29
|
async function startServer(bundleStats, opts) {
|
|
27
30
|
const {
|
|
28
31
|
port = 8888,
|
|
@@ -52,6 +55,7 @@ async function startServer(bundleStats, opts) {
|
|
|
52
55
|
app.use('/', (req, res) => {
|
|
53
56
|
res.render('viewer', {
|
|
54
57
|
mode: 'server',
|
|
58
|
+
title,
|
|
55
59
|
get chartData() { return chartData },
|
|
56
60
|
defaultSizes,
|
|
57
61
|
enableWebSocket: true,
|
|
@@ -133,6 +137,7 @@ async function generateReport(bundleStats, opts) {
|
|
|
133
137
|
`${projectRoot}/views/viewer.ejs`,
|
|
134
138
|
{
|
|
135
139
|
mode: 'static',
|
|
140
|
+
title,
|
|
136
141
|
chartData,
|
|
137
142
|
defaultSizes,
|
|
138
143
|
enableWebSocket: false,
|
package/views/viewer.ejs
CHANGED
|
@@ -3,8 +3,12 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8"/>
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
6
|
-
<title
|
|
6
|
+
<title><%= title %></title>
|
|
7
|
+
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
|
|
7
8
|
|
|
9
|
+
<script>
|
|
10
|
+
window.enableWebSocket = <%- escapeJson(enableWebSocket) %>;
|
|
11
|
+
</script>
|
|
8
12
|
<%- include('script', { filename: 'viewer.js' }) %>
|
|
9
13
|
</head>
|
|
10
14
|
|
|
@@ -13,7 +17,6 @@
|
|
|
13
17
|
<script>
|
|
14
18
|
window.chartData = <%- escapeJson(chartData) %>;
|
|
15
19
|
window.defaultSizes = <%- escapeJson(defaultSizes) %>;
|
|
16
|
-
window.enableWebSocket = <%- escapeJson(enableWebSocket) %>;
|
|
17
20
|
</script>
|
|
18
21
|
</body>
|
|
19
22
|
</html>
|