@bundle-stats/utils 3.3.3 → 3.3.4-alpha.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.
@@ -4,16 +4,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.extractAssets = void 0;
7
- const get_1 = __importDefault(require("lodash/get"));
8
7
  const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
9
8
  const utils_1 = require("../utils");
10
9
  const IGNORE_PATTERN = /\.(map|LICENSE\.txt)$/;
11
10
  const extractAssets = (webpackStats) => {
12
- const webpackAssets = (0, get_1.default)(webpackStats, 'assets', []);
13
- const webpackChunks = (0, get_1.default)(webpackStats, 'chunks', []);
14
- const webpackEntrypoints = (0, get_1.default)(webpackStats, 'entrypoints', {});
15
- const entryItems = Object.values(webpackEntrypoints)
16
- .map(({ assets: items }) => items)
11
+ const webpackAssets = (webpackStats === null || webpackStats === void 0 ? void 0 : webpackStats.assets) || [];
12
+ const webpackChunks = (webpackStats === null || webpackStats === void 0 ? void 0 : webpackStats.chunks) || [];
13
+ const webpackEntrypoints = (webpackStats === null || webpackStats === void 0 ? void 0 : webpackStats.entrypoints) || {};
14
+ const entrypointsAssets = Object.values(webpackEntrypoints)
15
+ .map(({ assets: items }) => items.map((item) => {
16
+ if (typeof item === 'object') {
17
+ return item.name;
18
+ }
19
+ return item;
20
+ }))
17
21
  .flat();
18
22
  const initialItems = webpackChunks
19
23
  .filter(({ initial }) => initial)
@@ -37,7 +41,7 @@ const extractAssets = (webpackStats) => {
37
41
  [normalizedName]: {
38
42
  name: baseName,
39
43
  value: size,
40
- isEntry: entryItems.includes(name),
44
+ isEntry: entrypointsAssets.includes(name),
41
45
  isInitial: initialItems.includes(name),
42
46
  isChunk: Boolean(assetChunk),
43
47
  ...(assetChunk ? { chunkId: assetChunk.id } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../src/webpack/extract/assets.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../src/webpack/extract/assets.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,17 @@
1
- import get from 'lodash/get';
2
1
  import isEmpty from 'lodash/isEmpty';
3
2
  import { getAssetName, normalizeChunkId } from '../utils';
4
3
  const IGNORE_PATTERN = /\.(map|LICENSE\.txt)$/;
5
4
  export const extractAssets = (webpackStats) => {
6
- const webpackAssets = get(webpackStats, 'assets', []);
7
- const webpackChunks = get(webpackStats, 'chunks', []);
8
- const webpackEntrypoints = get(webpackStats, 'entrypoints', {});
9
- const entryItems = Object.values(webpackEntrypoints)
10
- .map(({ assets: items }) => items)
5
+ const webpackAssets = (webpackStats === null || webpackStats === void 0 ? void 0 : webpackStats.assets) || [];
6
+ const webpackChunks = (webpackStats === null || webpackStats === void 0 ? void 0 : webpackStats.chunks) || [];
7
+ const webpackEntrypoints = (webpackStats === null || webpackStats === void 0 ? void 0 : webpackStats.entrypoints) || {};
8
+ const entrypointsAssets = Object.values(webpackEntrypoints)
9
+ .map(({ assets: items }) => items.map((item) => {
10
+ if (typeof item === 'object') {
11
+ return item.name;
12
+ }
13
+ return item;
14
+ }))
11
15
  .flat();
12
16
  const initialItems = webpackChunks
13
17
  .filter(({ initial }) => initial)
@@ -31,7 +35,7 @@ export const extractAssets = (webpackStats) => {
31
35
  [normalizedName]: {
32
36
  name: baseName,
33
37
  value: size,
34
- isEntry: entryItems.includes(name),
38
+ isEntry: entrypointsAssets.includes(name),
35
39
  isInitial: initialItems.includes(name),
36
40
  isChunk: Boolean(assetChunk),
37
41
  ...(assetChunk ? { chunkId: assetChunk.id } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../src/webpack/extract/assets.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../src/webpack/extract/assets.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bundle-stats/utils",
3
- "version": "3.3.3",
3
+ "version": "3.3.4-alpha.0",
4
4
  "description": "BundleStats utils",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",
@@ -35,15 +35,15 @@
35
35
  },
36
36
  "homepage": "https://github.com/relative-ci/bundle-stats/blob/master/packages/utils#readme",
37
37
  "dependencies": {
38
- "@bundle-stats/plugin-webpack-filter": "^3.3.3",
39
- "@bundle-stats/plugin-webpack-validate": "^3.3.3",
38
+ "@bundle-stats/plugin-webpack-filter": "^3.3.4-alpha.0",
39
+ "@bundle-stats/plugin-webpack-validate": "^3.3.4-alpha.0",
40
40
  "convert-units": "3.0.0-beta.2",
41
41
  "query-string": "^7.1.0",
42
42
  "serialize-query-params": "^1.3.0"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/jest": "27.4.1",
46
- "@types/lodash": "4.14.180",
46
+ "@types/lodash": "4.14.181",
47
47
  "core-js": "3.21.1",
48
48
  "jest": "27.5.1",
49
49
  "jest-cli": "27.5.1",
@@ -58,5 +58,5 @@
58
58
  "core-js": "^3.0.0",
59
59
  "lodash": "^4.0.0"
60
60
  },
61
- "gitHead": "ee19c603e26dce218b55d7ed737cd414b092ba8c"
61
+ "gitHead": "0725a60aaddacda73ed1d6a2aab7e12b3be6221c"
62
62
  }
@@ -1,17 +1,46 @@
1
- import get from 'lodash/get';
2
1
  import isEmpty from 'lodash/isEmpty';
3
2
 
4
3
  import { getAssetName, normalizeChunkId } from '../utils';
5
4
 
6
5
  const IGNORE_PATTERN = /\.(map|LICENSE\.txt)$/;
7
6
 
8
- export const extractAssets = (webpackStats) => {
9
- const webpackAssets = get(webpackStats, 'assets', []);
10
- const webpackChunks = get(webpackStats, 'chunks', []);
11
- const webpackEntrypoints = get(webpackStats, 'entrypoints', {});
7
+ interface WebpackStatsAsset {
8
+ name: string;
9
+ size: number;
10
+ }
12
11
 
13
- const entryItems = Object.values(webpackEntrypoints)
14
- .map(({ assets: items }) => items)
12
+ interface WebpackStatsEntrypointAsset {
13
+ name: string;
14
+ }
15
+
16
+ interface WebpackStatsEntrypoint {
17
+ // Webpack 5 provides { name, size }
18
+ assets: Array<WebpackStatsEntrypointAsset | string>;
19
+ }
20
+
21
+ type WebpackStatsEntrypoints = Record<string, WebpackStatsEntrypoint>;
22
+
23
+ interface WebpackStatsChunk {
24
+ id: string;
25
+ entry: boolean;
26
+ initial: boolean;
27
+ files: Array<string>;
28
+ names: Array<string>;
29
+ }
30
+
31
+ export const extractAssets = (webpackStats: any) => {
32
+ const webpackAssets: Array<WebpackStatsAsset> = webpackStats?.assets || [];
33
+ const webpackChunks: Array<WebpackStatsChunk> = webpackStats?.chunks || [];
34
+ const webpackEntrypoints: WebpackStatsEntrypoints = webpackStats?.entrypoints || {};
35
+
36
+ const entrypointsAssets = Object.values(webpackEntrypoints)
37
+ .map(({ assets: items }) => items.map((item) => {
38
+ if (typeof item === 'object') {
39
+ return item.name;
40
+ }
41
+
42
+ return item;
43
+ }))
15
44
  .flat();
16
45
 
17
46
  const initialItems = webpackChunks
@@ -43,7 +72,7 @@ export const extractAssets = (webpackStats) => {
43
72
  [normalizedName]: {
44
73
  name: baseName,
45
74
  value: size,
46
- isEntry: entryItems.includes(name),
75
+ isEntry: entrypointsAssets.includes(name),
47
76
  isInitial: initialItems.includes(name),
48
77
  isChunk: Boolean(assetChunk),
49
78
  ...(assetChunk ? { chunkId: assetChunk.id } : {}),
@@ -57,10 +86,10 @@ export const extractAssets = (webpackStats) => {
57
86
  },
58
87
  ...(!isEmpty(normalizedChunks)
59
88
  ? {
60
- meta: {
61
- chunks: normalizedChunks.map(({ id, name }) => ({ id, name })),
62
- },
63
- }
89
+ meta: {
90
+ chunks: normalizedChunks.map(({ id, name }) => ({ id, name })),
91
+ },
92
+ }
64
93
  : {}),
65
94
  };
66
95
  };
@@ -1,8 +1,11 @@
1
- export function extractAssets(webpackStats: any): {
1
+ export declare const extractAssets: (webpackStats: any) => {
2
2
  meta?: {
3
- chunks: any;
3
+ chunks: {
4
+ id: string;
5
+ name: string;
6
+ }[];
4
7
  } | undefined;
5
8
  metrics: {
6
- assets: any;
9
+ assets: {};
7
10
  };
8
11
  };