webpack-bundle-analyzer 2.9.2 → 2.11.1

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.
@@ -0,0 +1,67 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
8
+
9
+ var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
10
+
11
+ var _Module2 = require('./Module');
12
+
13
+ var _Module3 = _interopRequireDefault(_Module2);
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+
17
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
18
+
19
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
20
+
21
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
22
+
23
+ var ContentModule = function (_Module) {
24
+ _inherits(ContentModule, _Module);
25
+
26
+ function ContentModule(name, data, ownerModule, parent) {
27
+ _classCallCheck(this, ContentModule);
28
+
29
+ var _this = _possibleConstructorReturn(this, (ContentModule.__proto__ || Object.getPrototypeOf(ContentModule)).call(this, name, data, parent));
30
+
31
+ _this.ownerModule = ownerModule;
32
+ return _this;
33
+ }
34
+
35
+ _createClass(ContentModule, [{
36
+ key: 'getSize',
37
+ value: function getSize(sizeType) {
38
+ var ownerModuleSize = this.ownerModule[sizeType];
39
+
40
+ if (ownerModuleSize !== undefined) {
41
+ return Math.floor(this.size / this.ownerModule.size * ownerModuleSize);
42
+ }
43
+ }
44
+ }, {
45
+ key: 'toChartData',
46
+ value: function toChartData() {
47
+ return Object.assign({}, _get(ContentModule.prototype.__proto__ || Object.getPrototypeOf(ContentModule.prototype), 'toChartData', this).call(this), {
48
+ inaccurateSizes: true
49
+ });
50
+ }
51
+ }, {
52
+ key: 'parsedSize',
53
+ get: function get() {
54
+ return this.getSize('parsedSize');
55
+ }
56
+ }, {
57
+ key: 'gzipSize',
58
+ get: function get() {
59
+ return this.getSize('gzipSize');
60
+ }
61
+ }]);
62
+
63
+ return ContentModule;
64
+ }(_Module3.default);
65
+
66
+ exports.default = ContentModule;
67
+ ;
@@ -0,0 +1,114 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
8
+
9
+ var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
10
+
11
+ var _lodash = require('lodash');
12
+
13
+ var _lodash2 = _interopRequireDefault(_lodash);
14
+
15
+ var _gzipSize = require('gzip-size');
16
+
17
+ var _gzipSize2 = _interopRequireDefault(_gzipSize);
18
+
19
+ var _Module = require('./Module');
20
+
21
+ var _Module2 = _interopRequireDefault(_Module);
22
+
23
+ var _BaseFolder2 = require('./BaseFolder');
24
+
25
+ var _BaseFolder3 = _interopRequireDefault(_BaseFolder2);
26
+
27
+ var _ConcatenatedModule = require('./ConcatenatedModule');
28
+
29
+ var _ConcatenatedModule2 = _interopRequireDefault(_ConcatenatedModule);
30
+
31
+ var _utils = require('./utils');
32
+
33
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34
+
35
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
36
+
37
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
38
+
39
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
40
+
41
+ var Folder = function (_BaseFolder) {
42
+ _inherits(Folder, _BaseFolder);
43
+
44
+ function Folder() {
45
+ _classCallCheck(this, Folder);
46
+
47
+ return _possibleConstructorReturn(this, (Folder.__proto__ || Object.getPrototypeOf(Folder)).apply(this, arguments));
48
+ }
49
+
50
+ _createClass(Folder, [{
51
+ key: 'addModule',
52
+ value: function addModule(moduleData) {
53
+ var pathParts = (0, _utils.getModulePathParts)(moduleData);
54
+
55
+ if (!pathParts) {
56
+ return;
57
+ }
58
+
59
+ var _ref = [pathParts.slice(0, -1), _lodash2.default.last(pathParts)],
60
+ folders = _ref[0],
61
+ fileName = _ref[1];
62
+
63
+ var currentFolder = this;
64
+
65
+ _lodash2.default.each(folders, function (folderName) {
66
+ var childNode = currentFolder.getChild(folderName);
67
+
68
+ if (
69
+ // Folder is not created yet
70
+ !childNode ||
71
+ // In some situations (invalid usage of dynamic `require()`) webpack generates a module with empty require
72
+ // context, but it's moduleId points to a directory in filesystem.
73
+ // In this case we replace this `File` node with `Folder`.
74
+ // See `test/stats/with-invalid-dynamic-require.json` as an example.
75
+ !(childNode instanceof Folder)) {
76
+ childNode = currentFolder.addChildFolder(new Folder(folderName));
77
+ }
78
+
79
+ currentFolder = childNode;
80
+ });
81
+
82
+ var ModuleConstructor = moduleData.modules ? _ConcatenatedModule2.default : _Module2.default;
83
+ var module = new ModuleConstructor(fileName, moduleData, this);
84
+ currentFolder.addChildModule(module);
85
+ }
86
+ }, {
87
+ key: 'toChartData',
88
+ value: function toChartData() {
89
+ return Object.assign({}, _get(Folder.prototype.__proto__ || Object.getPrototypeOf(Folder.prototype), 'toChartData', this).call(this), {
90
+ parsedSize: this.parsedSize,
91
+ gzipSize: this.gzipSize
92
+ });
93
+ }
94
+ }, {
95
+ key: 'parsedSize',
96
+ get: function get() {
97
+ return this.src ? this.src.length : undefined;
98
+ }
99
+ }, {
100
+ key: 'gzipSize',
101
+ get: function get() {
102
+ if (!_lodash2.default.has(this, '_gzipSize')) {
103
+ this._gzipSize = this.src ? _gzipSize2.default.sync(this.src) : undefined;
104
+ }
105
+
106
+ return this._gzipSize;
107
+ }
108
+ }]);
109
+
110
+ return Folder;
111
+ }(_BaseFolder3.default);
112
+
113
+ exports.default = Folder;
114
+ ;
@@ -0,0 +1,101 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
8
+
9
+ var _lodash = require('lodash');
10
+
11
+ var _lodash2 = _interopRequireDefault(_lodash);
12
+
13
+ var _gzipSize = require('gzip-size');
14
+
15
+ var _gzipSize2 = _interopRequireDefault(_gzipSize);
16
+
17
+ var _Node2 = require('./Node');
18
+
19
+ var _Node3 = _interopRequireDefault(_Node2);
20
+
21
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
+
23
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
24
+
25
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
26
+
27
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
28
+
29
+ var Module = function (_Node) {
30
+ _inherits(Module, _Node);
31
+
32
+ function Module(name, data, parent) {
33
+ _classCallCheck(this, Module);
34
+
35
+ var _this = _possibleConstructorReturn(this, (Module.__proto__ || Object.getPrototypeOf(Module)).call(this, name, parent));
36
+
37
+ _this.data = data;
38
+ return _this;
39
+ }
40
+
41
+ _createClass(Module, [{
42
+ key: 'mergeData',
43
+ value: function mergeData(data) {
44
+ if (data.size) {
45
+ this.size += data.size;
46
+ }
47
+
48
+ if (data.parsedSrc) {
49
+ this.src = (this.src || '') + data.parsedSrc;
50
+ }
51
+ }
52
+ }, {
53
+ key: 'toChartData',
54
+ value: function toChartData() {
55
+ return {
56
+ id: this.data.id,
57
+ label: this.name,
58
+ path: this.path,
59
+ statSize: this.size,
60
+ parsedSize: this.parsedSize,
61
+ gzipSize: this.gzipSize
62
+ };
63
+ }
64
+ }, {
65
+ key: 'src',
66
+ get: function get() {
67
+ return this.data.parsedSrc;
68
+ },
69
+ set: function set(value) {
70
+ this.data.parsedSrc = value;
71
+ delete this._gzipSize;
72
+ }
73
+ }, {
74
+ key: 'size',
75
+ get: function get() {
76
+ return this.data.size;
77
+ },
78
+ set: function set(value) {
79
+ this.data.size = value;
80
+ }
81
+ }, {
82
+ key: 'parsedSize',
83
+ get: function get() {
84
+ return this.src ? this.src.length : undefined;
85
+ }
86
+ }, {
87
+ key: 'gzipSize',
88
+ get: function get() {
89
+ if (!_lodash2.default.has(this, '_gzipSize')) {
90
+ this._gzipSize = this.src ? _gzipSize2.default.sync(this.src) : undefined;
91
+ }
92
+
93
+ return this._gzipSize;
94
+ }
95
+ }]);
96
+
97
+ return Module;
98
+ }(_Node3.default);
99
+
100
+ exports.default = Module;
101
+ ;
@@ -0,0 +1,38 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
8
+
9
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
10
+
11
+ var Node = function () {
12
+ function Node(name, parent) {
13
+ _classCallCheck(this, Node);
14
+
15
+ this.name = name;
16
+ this.parent = parent;
17
+ }
18
+
19
+ _createClass(Node, [{
20
+ key: 'path',
21
+ get: function get() {
22
+ var path = [];
23
+ var node = this;
24
+
25
+ while (node) {
26
+ path.push(node.name);
27
+ node = node.parent;
28
+ }
29
+
30
+ return path.reverse().join('/');
31
+ }
32
+ }]);
33
+
34
+ return Node;
35
+ }();
36
+
37
+ exports.default = Node;
38
+ ;
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getModulePathParts = getModulePathParts;
7
+
8
+ var _lodash = require('lodash');
9
+
10
+ var _lodash2 = _interopRequireDefault(_lodash);
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ var MULTI_MODULE_REGEXP = /^multi /;
15
+
16
+ function getModulePathParts(moduleData) {
17
+ if (MULTI_MODULE_REGEXP.test(moduleData.identifier)) {
18
+ return [moduleData.identifier];
19
+ }
20
+
21
+ var parsedPath = _lodash2.default
22
+ // Removing loaders from module path: they're joined by `!` and the last part is a raw module path
23
+ .last(moduleData.name.split('!'))
24
+ // Splitting module path into parts
25
+ .split('/')
26
+ // Removing first `.`
27
+ .slice(1)
28
+ // Replacing `~` with `node_modules`
29
+ .map(function (part) {
30
+ return part === '~' ? 'node_modules' : part;
31
+ });
32
+
33
+ return parsedPath.length ? parsedPath : null;
34
+ }
package/lib/viewer.js CHANGED
@@ -176,6 +176,7 @@ function getChartData(logger) {
176
176
  chartData = analyzer.getViewerData.apply(analyzer, args.concat([{ logger }]));
177
177
  } catch (err) {
178
178
  logger.error(`Could't analyze webpack bundle:\n${err}`);
179
+ logger.debug(err.stack);
179
180
  chartData = null;
180
181
  }
181
182
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "webpack-bundle-analyzer",
3
- "version": "2.9.2",
3
+ "version": "2.11.1",
4
4
  "description": "Webpack plugin and CLI utility that represents bundle content as convenient interactive zoomable treemap",
5
5
  "author": "Yury Grunin <grunin.ya@ya.ru>",
6
6
  "license": "MIT",
@@ -23,8 +23,8 @@
23
23
  "build": "gulp build",
24
24
  "npm-publish": "npm run lint && npm run build && npm test && npm publish",
25
25
  "lint": "eslint --ext js,jsx .",
26
- "test": "mocha --compilers js:babel-core/register",
27
- "test-dev": "mocha --watch --compilers js:babel-core/register"
26
+ "test": "mocha --exit --require babel-core/register",
27
+ "test-dev": "mocha --watch --require babel-core/register"
28
28
  },
29
29
  "files": [
30
30
  "public",
@@ -33,47 +33,47 @@
33
33
  "views"
34
34
  ],
35
35
  "dependencies": {
36
- "acorn": "^5.1.1",
37
- "chalk": "^1.1.3",
38
- "commander": "^2.9.0",
39
- "ejs": "^2.5.6",
40
- "express": "^4.15.2",
41
- "filesize": "^3.5.9",
42
- "gzip-size": "^3.0.0",
36
+ "acorn": "^5.3.0",
37
+ "bfj-node4": "^5.2.0",
38
+ "chalk": "^2.3.0",
39
+ "commander": "^2.13.0",
40
+ "ejs": "^2.5.7",
41
+ "express": "^4.16.2",
42
+ "filesize": "^3.5.11",
43
+ "gzip-size": "^4.1.0",
43
44
  "lodash": "^4.17.4",
44
45
  "mkdirp": "^0.5.1",
45
46
  "opener": "^1.4.3",
46
47
  "ws": "^4.0.0"
47
48
  },
48
49
  "devDependencies": {
49
- "babel-core": "6.24.1",
50
- "babel-eslint": "7.2.3",
51
- "babel-loader": "7.0.0",
50
+ "babel-core": "6.26.0",
51
+ "babel-eslint": "8.2.1",
52
+ "babel-loader": "7.1.2",
52
53
  "babel-plugin-transform-class-properties": "6.24.1",
53
- "babel-plugin-transform-object-rest-spread": "6.23.0",
54
+ "babel-plugin-transform-object-rest-spread": "6.26.0",
54
55
  "babel-plugin-transform-react-jsx": "6.24.1",
55
- "babel-preset-env": "1.4.0",
56
- "chai": "3.5.0",
57
- "chai-subset": "1.5.0",
56
+ "babel-preset-env": "1.6.1",
57
+ "chai": "4.1.2",
58
+ "chai-subset": "1.6.0",
58
59
  "classnames": "2.2.5",
59
- "css-loader": "0.28.1",
60
- "del": "2.2.2",
61
- "eslint": "3.19.0",
62
- "eslint-plugin-react": "7.0.0",
60
+ "css-loader": "0.28.9",
61
+ "del": "3.0.0",
62
+ "eslint": "4.16.0",
63
+ "eslint-config-th0r": "1.0.0",
64
+ "eslint-config-th0r-react": "1.0.0",
65
+ "eslint-plugin-react": "7.6.1",
63
66
  "exports-loader": "0.6.4",
64
- "gulp": "3.9.1",
65
- "gulp-babel": "6.1.2",
66
- "gulp-plumber": "1.1.0",
67
- "gulp-util": "3.0.8",
68
- "gulp-watch": "4.3.11",
69
- "mocha": "3.3.0",
67
+ "gulp": "4.0.0",
68
+ "gulp-babel": "7.0.1",
69
+ "mocha": "5.0.0",
70
70
  "nightmare": "2.10.0",
71
- "preact": "8.1.0",
72
- "sinon": "2.2.0",
71
+ "preact": "8.2.7",
72
+ "sinon": "4.2.2",
73
73
  "stream-combiner2": "1.1.1",
74
- "style-loader": "0.17.0",
75
- "webpack": "2.5.1",
76
- "webpack-dev-server": "2.4.5"
74
+ "style-loader": "0.20.1",
75
+ "webpack": "3.10.0",
76
+ "webpack-dev-server": "2.11.1"
77
77
  },
78
78
  "keywords": [
79
79
  "webpack",