rollup-plugin-webpack-stats 2.1.4 → 2.1.5-beta.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.
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var plugin = require('./plugin.js');
4
+
5
+
6
+
7
+ module.exports = plugin.webpackStats;
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -0,0 +1,39 @@
1
+ 'use strict';
2
+
3
+ var extractStats = require('rollup-plugin-stats/extract');
4
+ var transform = require('./transform.js');
5
+ var write = require('./write.js');
6
+ var utils = require('./utils.js');
7
+
8
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
+
10
+ var extractStats__default = /*#__PURE__*/_interopDefault(extractStats);
11
+
12
+ const PLUGIN_NAME = 'webpackStats';
13
+ const webpackStats = (options = {}) => ({
14
+ name: PLUGIN_NAME,
15
+ async generateBundle(outputOptions, bundle) {
16
+ const resolvedOptions = typeof options === 'function' ? options(outputOptions) : options;
17
+ const { fileName, excludeAssets, excludeModules, write: write$1 = write.statsWrite, ...transformOptions } = resolvedOptions;
18
+ const rollupStats = extractStats__default.default(bundle, {
19
+ excludeAssets,
20
+ excludeModules,
21
+ // Extract stats source to compute size
22
+ source: true,
23
+ });
24
+ const stats = transform.bundleToWebpackStats(rollupStats, transformOptions);
25
+ const filepath = utils.resolveFilepath(fileName, outputOptions.dir);
26
+ try {
27
+ const res = await write$1(filepath, stats);
28
+ const outputSize = utils.getByteSize(res.content);
29
+ this.info(`Stats saved to ${res.filepath} (${utils.formatFileSize(outputSize)})`);
30
+ }
31
+ catch (error) { // eslint-disable-line
32
+ // Log error, but do not throw to allow the compilation to continue
33
+ this.warn(error);
34
+ }
35
+ },
36
+ });
37
+
38
+ exports.webpackStats = webpackStats;
39
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sources":["../../../src/plugin.ts"],"sourcesContent":[null],"names":["write","statsWrite","extractStats","bundleToWebpackStats","resolveFilepath","getByteSize","formatFileSize"],"mappings":";;;;;;;;;;;AAOA,MAAM,WAAW,GAAG,cAAc;AAmB3B,MAAM,YAAY,GAAG,CAC1B,UAAwC,EAAE,MAC9B;AACZ,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,MAAM,cAAc,CAAC,aAAa,EAAE,MAAM,EAAA;AACxC,QAAA,MAAM,eAAe,GAAG,OAAO,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO;AACxF,QAAA,MAAM,EACJ,QAAQ,EACR,aAAa,EACb,cAAc,SACdA,OAAK,GAAGC,gBAAU,EAClB,GAAG,gBAAgB,EACpB,GAAG,eAAe;AAEnB,QAAA,MAAM,WAAW,GAAGC,6BAAY,CAAC,MAAM,EAAE;YACvC,aAAa;YACb,cAAc;;AAEd,YAAA,MAAM,EAAE,IAAI;AACb,SAAA,CAAC;QACF,MAAM,KAAK,GAAGC,8BAAoB,CAAC,WAAW,EAAE,gBAAgB,CAAC;QACjE,MAAM,QAAQ,GAAGC,qBAAe,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC;AAE7D,QAAA,IAAI;YACF,MAAM,GAAG,GAAG,MAAMJ,OAAK,CAAC,QAAQ,EAAE,KAA2C,CAAC;YAC9E,MAAM,UAAU,GAAGK,iBAAW,CAAC,GAAG,CAAC,OAAO,CAAC;AAE3C,YAAA,IAAI,CAAC,IAAI,CAAC,CAAA,eAAA,EAAkB,GAAG,CAAC,QAAQ,CAAA,EAAA,EAAKC,oBAAc,CAAC,UAAU,CAAC,CAAA,CAAA,CAAG,CAAC;QAC7E;AAAE,QAAA,OAAO,KAAU,EAAE;;AAEnB,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAClB;IACF,CAAC;AACF,CAAA;;;;"}
@@ -1,81 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var path$1 = require('path');
4
- var path = require('node:path');
5
- var crypto = require('node:crypto');
3
+ var path = require('path');
4
+ var utils = require('./utils.js');
6
5
 
7
- const HASH_LENGTH = 7;
8
- /**
9
- * Get content byte size
10
- */
11
- function getByteSize(content) {
12
- if (!content) {
13
- return 0;
14
- }
15
- if (typeof content === 'string') {
16
- return Buffer.byteLength(content);
17
- }
18
- return content?.length || 0;
19
- }
20
- /**
21
- * Generate a 7 chars hash from a filepath
22
- */
23
- function getHash(filepath) {
24
- const digest = crypto.createHash('sha256');
25
- return digest.update(filepath).digest('hex').substr(0, HASH_LENGTH);
26
- }
27
- function getChunkId(chunk) {
28
- let value = chunk.name;
29
- // Use entry module relative path
30
- if (chunk.moduleIds?.length > 0) {
31
- const absoluteModulePath = chunk.moduleIds[chunk.moduleIds.length - 1];
32
- value = path.relative(process.cwd(), absoluteModulePath);
33
- }
34
- return getHash([chunk, value].join('-'));
35
- }
36
- function round(value, precision = 2) {
37
- const multiplier = 10 ^ precision;
38
- return Math.round(value * multiplier) / multiplier;
39
- }
40
- const FILE_SIZE = {
41
- BYTE: {
42
- symbol: 'B',
43
- multiplier: 1,
44
- },
45
- KILO: {
46
- symbol: 'KiB',
47
- multiplier: 1024,
48
- },
49
- MEGA: {
50
- symbol: 'MiB',
51
- multiplier: 1024 * 1024,
52
- },
53
- };
54
- function formatFileSize(value) {
55
- let unit = FILE_SIZE.BYTE;
56
- if (typeof value !== 'number') {
57
- return `0${unit.symbol}`;
58
- }
59
- if (value < FILE_SIZE.KILO.multiplier) {
60
- unit = FILE_SIZE.BYTE;
61
- }
62
- else if (value < FILE_SIZE.MEGA.multiplier) {
63
- unit = FILE_SIZE.KILO;
64
- }
65
- else {
66
- unit = FILE_SIZE.MEGA;
67
- }
68
- return `${round(value / unit.multiplier, 2)}${unit.symbol}`;
69
- }
70
- const DEFAULT_FILE_NAME = 'webpack-stats.json';
71
- function resolveFilepath(fileName = DEFAULT_FILE_NAME, outputDir) {
72
- // Check if the fileName is an absolute path
73
- if (path.isAbsolute(fileName)) {
74
- return fileName;
75
- }
76
- // If the fileName is not an absolute path, join it with the output directory or the current working directory
77
- return path.join(outputDir || process.cwd(), fileName);
78
- }
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var path__default = /*#__PURE__*/_interopDefault(path);
79
9
 
80
10
  /**
81
11
  * Recursivily check if a chunk is async based on the chunks issuers
@@ -124,29 +54,29 @@ const lookupChunkAsync = (chunksIssuers, chunk, processedChunks = []) => {
124
54
  class TransformSources {
125
55
  constructor() {
126
56
  this.entries = {};
57
+ /**
58
+ * Get asset source
59
+ */
60
+ this.getByAsset = (asset) => {
61
+ return this.entries[asset.name];
62
+ };
63
+ /**
64
+ * Get chunk source
65
+ */
66
+ this.getByChunk = (chunk) => {
67
+ return this.entries[chunk.id];
68
+ };
69
+ /**
70
+ * Get module source
71
+ */
72
+ this.getByModule = (module) => {
73
+ return this.entries[module.name];
74
+ };
75
+ this.entries = {};
127
76
  }
128
- entries = {};
129
77
  push(id, source) {
130
78
  this.entries[id] = source;
131
79
  }
132
- /**
133
- * Get asset source
134
- */
135
- getByAsset = (asset) => {
136
- return this.entries[asset.name];
137
- };
138
- /**
139
- * Get chunk source
140
- */
141
- getByChunk = (chunk) => {
142
- return this.entries[chunk.id];
143
- };
144
- /**
145
- * Get module source
146
- */
147
- getByModule = (module) => {
148
- return this.entries[module.name];
149
- };
150
80
  }
151
81
  const defaultTransform = (stats) => stats;
152
82
  const bundleToWebpackStats = (bundle, pluginOptions) => {
@@ -178,10 +108,10 @@ const bundleToWebpackStats = (bundle, pluginOptions) => {
178
108
  if (entry.type === 'chunk') {
179
109
  assets.push({
180
110
  name: entry.fileName,
181
- size: getByteSize(entry.code),
111
+ size: utils.getByteSize(entry.code),
182
112
  });
183
113
  sources.push(entry.fileName, entry);
184
- const chunkId = getChunkId(entry);
114
+ const chunkId = utils.getChunkId(entry);
185
115
  const chunkAsync = lookupChunkAsync(chunksIssuers, entry);
186
116
  chunks.push({
187
117
  id: chunkId,
@@ -194,11 +124,11 @@ const bundleToWebpackStats = (bundle, pluginOptions) => {
194
124
  Object.entries(entry.modules).forEach(([modulePath, moduleInfo]) => {
195
125
  // Remove unexpected rollup null prefix
196
126
  const normalizedModulePath = modulePath.replace('\u0000', '');
197
- const relativeModulePath = path$1.relative(process.cwd(), normalizedModulePath);
127
+ const relativeModulePath = path__default.default.relative(process.cwd(), normalizedModulePath);
198
128
  // Match webpack output - add current directory prefix for child modules
199
129
  const relativeModulePathWithPrefix = relativeModulePath.match(/^\.\./)
200
130
  ? relativeModulePath
201
- : `.${path$1.sep}${relativeModulePath}`;
131
+ : `.${path__default.default.sep}${relativeModulePath}`;
202
132
  const moduleEntry = moduleByFileName[relativeModulePathWithPrefix];
203
133
  if (moduleEntry) {
204
134
  moduleEntry.chunks.push(chunkId);
@@ -218,7 +148,7 @@ const bundleToWebpackStats = (bundle, pluginOptions) => {
218
148
  else if (entry.type === 'asset') {
219
149
  assets.push({
220
150
  name: entry.fileName,
221
- size: getByteSize(entry.source),
151
+ size: utils.getByteSize(entry.source),
222
152
  });
223
153
  sources.push(entry.fileName, entry);
224
154
  }
@@ -242,8 +172,5 @@ const bundleToWebpackStats = (bundle, pluginOptions) => {
242
172
  };
243
173
 
244
174
  exports.bundleToWebpackStats = bundleToWebpackStats;
245
- exports.formatFileSize = formatFileSize;
246
- exports.getByteSize = getByteSize;
247
175
  exports.lookupChunkAsync = lookupChunkAsync;
248
- exports.resolveFilepath = resolveFilepath;
249
- //# sourceMappingURL=transform.cjs.map
176
+ //# sourceMappingURL=transform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.js","sources":["../../../src/transform.ts"],"sourcesContent":[null],"names":["getByteSize","getChunkId","path"],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ 'use strict';
2
+
3
+ var path = require('node:path');
4
+ var crypto = require('node:crypto');
5
+
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var path__default = /*#__PURE__*/_interopDefault(path);
9
+ var crypto__default = /*#__PURE__*/_interopDefault(crypto);
10
+
11
+ const HASH_LENGTH = 7;
12
+ /**
13
+ * Get content byte size
14
+ */
15
+ function getByteSize(content) {
16
+ if (!content) {
17
+ return 0;
18
+ }
19
+ if (typeof content === 'string') {
20
+ return Buffer.byteLength(content);
21
+ }
22
+ return content?.length || 0;
23
+ }
24
+ /**
25
+ * Generate a 7 chars hash from a filepath
26
+ */
27
+ function getHash(filepath) {
28
+ const digest = crypto__default.default.createHash('sha256');
29
+ return digest.update(filepath).digest('hex').substr(0, HASH_LENGTH);
30
+ }
31
+ function getChunkId(chunk) {
32
+ let value = chunk.name;
33
+ // Use entry module relative path
34
+ if (chunk.moduleIds?.length > 0) {
35
+ const absoluteModulePath = chunk.moduleIds[chunk.moduleIds.length - 1];
36
+ value = path__default.default.relative(process.cwd(), absoluteModulePath);
37
+ }
38
+ return getHash([chunk, value].join('-'));
39
+ }
40
+ function round(value, precision = 2) {
41
+ const multiplier = 10 ^ precision;
42
+ return Math.round(value * multiplier) / multiplier;
43
+ }
44
+ const FILE_SIZE = {
45
+ BYTE: {
46
+ symbol: 'B',
47
+ multiplier: 1,
48
+ },
49
+ KILO: {
50
+ symbol: 'KiB',
51
+ multiplier: 1024,
52
+ },
53
+ MEGA: {
54
+ symbol: 'MiB',
55
+ multiplier: 1024 * 1024,
56
+ },
57
+ };
58
+ function formatFileSize(value) {
59
+ let unit = FILE_SIZE.BYTE;
60
+ if (typeof value !== 'number') {
61
+ return `0${unit.symbol}`;
62
+ }
63
+ if (value < FILE_SIZE.KILO.multiplier) {
64
+ unit = FILE_SIZE.BYTE;
65
+ }
66
+ else if (value < FILE_SIZE.MEGA.multiplier) {
67
+ unit = FILE_SIZE.KILO;
68
+ }
69
+ else {
70
+ unit = FILE_SIZE.MEGA;
71
+ }
72
+ return `${round(value / unit.multiplier, 2)}${unit.symbol}`;
73
+ }
74
+ const DEFAULT_FILE_NAME = 'webpack-stats.json';
75
+ function resolveFilepath(fileName = DEFAULT_FILE_NAME, outputDir) {
76
+ // Check if the fileName is an absolute path
77
+ if (path__default.default.isAbsolute(fileName)) {
78
+ return fileName;
79
+ }
80
+ // If the fileName is not an absolute path, join it with the output directory or the current working directory
81
+ return path__default.default.join(outputDir || process.cwd(), fileName);
82
+ }
83
+
84
+ exports.formatFileSize = formatFileSize;
85
+ exports.getByteSize = getByteSize;
86
+ exports.getChunkId = getChunkId;
87
+ exports.getHash = getHash;
88
+ exports.resolveFilepath = resolveFilepath;
89
+ exports.round = round;
90
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../src/utils.ts"],"sourcesContent":[null],"names":["crypto","path"],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ var path = require('node:path');
4
+ var fs = require('node:fs/promises');
5
+
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var path__default = /*#__PURE__*/_interopDefault(path);
9
+ var fs__default = /*#__PURE__*/_interopDefault(fs);
10
+
11
+ async function statsWrite(filepath, stats) {
12
+ const content = JSON.stringify(stats, null, 2);
13
+ // Create base directory if it does not exist
14
+ await fs__default.default.mkdir(path__default.default.dirname(filepath), { recursive: true });
15
+ await fs__default.default.writeFile(filepath, content);
16
+ return {
17
+ filepath,
18
+ content,
19
+ };
20
+ }
21
+
22
+ exports.statsWrite = statsWrite;
23
+ //# sourceMappingURL=write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.js","sources":["../../../src/write.ts"],"sourcesContent":[null],"names":["fs","path"],"mappings":";;;;;;;;;;AAaO,eAAe,UAAU,CAE9B,QAAgB,EAAE,KAAQ,EAAA;AAC1B,IAAA,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;;AAG9C,IAAA,MAAMA,mBAAE,CAAC,KAAK,CAACC,qBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAE3D,MAAMD,mBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAErC,OAAO;QACL,QAAQ;QACR,OAAO;KACR;AACH;;;;"}
@@ -0,0 +1,6 @@
1
+ import { webpackStats } from './plugin.js';
2
+
3
+
4
+
5
+ export { webpackStats as default };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -1,20 +1,7 @@
1
1
  import extractStats from 'rollup-plugin-stats/extract';
2
- import { b as bundleToWebpackStats, r as resolveFilepath, g as getByteSize, f as formatFileSize } from './chunks/transform.mjs';
3
- import path from 'node:path';
4
- import fs from 'node:fs/promises';
5
- import 'path';
6
- import 'node:crypto';
7
-
8
- async function statsWrite(filepath, stats) {
9
- const content = JSON.stringify(stats, null, 2);
10
- // Create base directory if it does not exist
11
- await fs.mkdir(path.dirname(filepath), { recursive: true });
12
- await fs.writeFile(filepath, content);
13
- return {
14
- filepath,
15
- content,
16
- };
17
- }
2
+ import { bundleToWebpackStats } from './transform.js';
3
+ import { statsWrite } from './write.js';
4
+ import { resolveFilepath, getByteSize, formatFileSize } from './utils.js';
18
5
 
19
6
  const PLUGIN_NAME = 'webpackStats';
20
7
  const webpackStats = (options = {}) => ({
@@ -42,5 +29,5 @@ const webpackStats = (options = {}) => ({
42
29
  },
43
30
  });
44
31
 
45
- export { webpackStats as default };
46
- //# sourceMappingURL=index.mjs.map
32
+ export { webpackStats };
33
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sources":["../../../src/plugin.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAOA,MAAM,WAAW,GAAG,cAAc;AAmB3B,MAAM,YAAY,GAAG,CAC1B,UAAwC,EAAE,MAC9B;AACZ,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,MAAM,cAAc,CAAC,aAAa,EAAE,MAAM,EAAA;AACxC,QAAA,MAAM,eAAe,GAAG,OAAO,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO;AACxF,QAAA,MAAM,EACJ,QAAQ,EACR,aAAa,EACb,cAAc,EACd,KAAK,GAAG,UAAU,EAClB,GAAG,gBAAgB,EACpB,GAAG,eAAe;AAEnB,QAAA,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,EAAE;YACvC,aAAa;YACb,cAAc;;AAEd,YAAA,MAAM,EAAE,IAAI;AACb,SAAA,CAAC;QACF,MAAM,KAAK,GAAG,oBAAoB,CAAC,WAAW,EAAE,gBAAgB,CAAC;QACjE,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC;AAE7D,QAAA,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,KAA2C,CAAC;YAC9E,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;AAE3C,YAAA,IAAI,CAAC,IAAI,CAAC,CAAA,eAAA,EAAkB,GAAG,CAAC,QAAQ,CAAA,EAAA,EAAK,cAAc,CAAC,UAAU,CAAC,CAAA,CAAA,CAAG,CAAC;QAC7E;AAAE,QAAA,OAAO,KAAU,EAAE;;AAEnB,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAClB;IACF,CAAC;AACF,CAAA;;;;"}
@@ -1,79 +1,5 @@
1
- import path$1 from 'path';
2
- import path from 'node:path';
3
- import crypto from 'node:crypto';
4
-
5
- const HASH_LENGTH = 7;
6
- /**
7
- * Get content byte size
8
- */
9
- function getByteSize(content) {
10
- if (!content) {
11
- return 0;
12
- }
13
- if (typeof content === 'string') {
14
- return Buffer.byteLength(content);
15
- }
16
- return content?.length || 0;
17
- }
18
- /**
19
- * Generate a 7 chars hash from a filepath
20
- */
21
- function getHash(filepath) {
22
- const digest = crypto.createHash('sha256');
23
- return digest.update(filepath).digest('hex').substr(0, HASH_LENGTH);
24
- }
25
- function getChunkId(chunk) {
26
- let value = chunk.name;
27
- // Use entry module relative path
28
- if (chunk.moduleIds?.length > 0) {
29
- const absoluteModulePath = chunk.moduleIds[chunk.moduleIds.length - 1];
30
- value = path.relative(process.cwd(), absoluteModulePath);
31
- }
32
- return getHash([chunk, value].join('-'));
33
- }
34
- function round(value, precision = 2) {
35
- const multiplier = 10 ^ precision;
36
- return Math.round(value * multiplier) / multiplier;
37
- }
38
- const FILE_SIZE = {
39
- BYTE: {
40
- symbol: 'B',
41
- multiplier: 1,
42
- },
43
- KILO: {
44
- symbol: 'KiB',
45
- multiplier: 1024,
46
- },
47
- MEGA: {
48
- symbol: 'MiB',
49
- multiplier: 1024 * 1024,
50
- },
51
- };
52
- function formatFileSize(value) {
53
- let unit = FILE_SIZE.BYTE;
54
- if (typeof value !== 'number') {
55
- return `0${unit.symbol}`;
56
- }
57
- if (value < FILE_SIZE.KILO.multiplier) {
58
- unit = FILE_SIZE.BYTE;
59
- }
60
- else if (value < FILE_SIZE.MEGA.multiplier) {
61
- unit = FILE_SIZE.KILO;
62
- }
63
- else {
64
- unit = FILE_SIZE.MEGA;
65
- }
66
- return `${round(value / unit.multiplier, 2)}${unit.symbol}`;
67
- }
68
- const DEFAULT_FILE_NAME = 'webpack-stats.json';
69
- function resolveFilepath(fileName = DEFAULT_FILE_NAME, outputDir) {
70
- // Check if the fileName is an absolute path
71
- if (path.isAbsolute(fileName)) {
72
- return fileName;
73
- }
74
- // If the fileName is not an absolute path, join it with the output directory or the current working directory
75
- return path.join(outputDir || process.cwd(), fileName);
76
- }
1
+ import path from 'path';
2
+ import { getByteSize, getChunkId } from './utils.js';
77
3
 
78
4
  /**
79
5
  * Recursivily check if a chunk is async based on the chunks issuers
@@ -122,29 +48,29 @@ const lookupChunkAsync = (chunksIssuers, chunk, processedChunks = []) => {
122
48
  class TransformSources {
123
49
  constructor() {
124
50
  this.entries = {};
51
+ /**
52
+ * Get asset source
53
+ */
54
+ this.getByAsset = (asset) => {
55
+ return this.entries[asset.name];
56
+ };
57
+ /**
58
+ * Get chunk source
59
+ */
60
+ this.getByChunk = (chunk) => {
61
+ return this.entries[chunk.id];
62
+ };
63
+ /**
64
+ * Get module source
65
+ */
66
+ this.getByModule = (module) => {
67
+ return this.entries[module.name];
68
+ };
69
+ this.entries = {};
125
70
  }
126
- entries = {};
127
71
  push(id, source) {
128
72
  this.entries[id] = source;
129
73
  }
130
- /**
131
- * Get asset source
132
- */
133
- getByAsset = (asset) => {
134
- return this.entries[asset.name];
135
- };
136
- /**
137
- * Get chunk source
138
- */
139
- getByChunk = (chunk) => {
140
- return this.entries[chunk.id];
141
- };
142
- /**
143
- * Get module source
144
- */
145
- getByModule = (module) => {
146
- return this.entries[module.name];
147
- };
148
74
  }
149
75
  const defaultTransform = (stats) => stats;
150
76
  const bundleToWebpackStats = (bundle, pluginOptions) => {
@@ -192,11 +118,11 @@ const bundleToWebpackStats = (bundle, pluginOptions) => {
192
118
  Object.entries(entry.modules).forEach(([modulePath, moduleInfo]) => {
193
119
  // Remove unexpected rollup null prefix
194
120
  const normalizedModulePath = modulePath.replace('\u0000', '');
195
- const relativeModulePath = path$1.relative(process.cwd(), normalizedModulePath);
121
+ const relativeModulePath = path.relative(process.cwd(), normalizedModulePath);
196
122
  // Match webpack output - add current directory prefix for child modules
197
123
  const relativeModulePathWithPrefix = relativeModulePath.match(/^\.\./)
198
124
  ? relativeModulePath
199
- : `.${path$1.sep}${relativeModulePath}`;
125
+ : `.${path.sep}${relativeModulePath}`;
200
126
  const moduleEntry = moduleByFileName[relativeModulePathWithPrefix];
201
127
  if (moduleEntry) {
202
128
  moduleEntry.chunks.push(chunkId);
@@ -239,5 +165,5 @@ const bundleToWebpackStats = (bundle, pluginOptions) => {
239
165
  return result;
240
166
  };
241
167
 
242
- export { bundleToWebpackStats as b, formatFileSize as f, getByteSize as g, lookupChunkAsync as l, resolveFilepath as r };
243
- //# sourceMappingURL=transform.mjs.map
168
+ export { bundleToWebpackStats, lookupChunkAsync };
169
+ //# sourceMappingURL=transform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.js","sources":["../../../src/transform.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import path from 'node:path';
2
+ import crypto from 'node:crypto';
3
+
4
+ const HASH_LENGTH = 7;
5
+ /**
6
+ * Get content byte size
7
+ */
8
+ function getByteSize(content) {
9
+ if (!content) {
10
+ return 0;
11
+ }
12
+ if (typeof content === 'string') {
13
+ return Buffer.byteLength(content);
14
+ }
15
+ return content?.length || 0;
16
+ }
17
+ /**
18
+ * Generate a 7 chars hash from a filepath
19
+ */
20
+ function getHash(filepath) {
21
+ const digest = crypto.createHash('sha256');
22
+ return digest.update(filepath).digest('hex').substr(0, HASH_LENGTH);
23
+ }
24
+ function getChunkId(chunk) {
25
+ let value = chunk.name;
26
+ // Use entry module relative path
27
+ if (chunk.moduleIds?.length > 0) {
28
+ const absoluteModulePath = chunk.moduleIds[chunk.moduleIds.length - 1];
29
+ value = path.relative(process.cwd(), absoluteModulePath);
30
+ }
31
+ return getHash([chunk, value].join('-'));
32
+ }
33
+ function round(value, precision = 2) {
34
+ const multiplier = 10 ^ precision;
35
+ return Math.round(value * multiplier) / multiplier;
36
+ }
37
+ const FILE_SIZE = {
38
+ BYTE: {
39
+ symbol: 'B',
40
+ multiplier: 1,
41
+ },
42
+ KILO: {
43
+ symbol: 'KiB',
44
+ multiplier: 1024,
45
+ },
46
+ MEGA: {
47
+ symbol: 'MiB',
48
+ multiplier: 1024 * 1024,
49
+ },
50
+ };
51
+ function formatFileSize(value) {
52
+ let unit = FILE_SIZE.BYTE;
53
+ if (typeof value !== 'number') {
54
+ return `0${unit.symbol}`;
55
+ }
56
+ if (value < FILE_SIZE.KILO.multiplier) {
57
+ unit = FILE_SIZE.BYTE;
58
+ }
59
+ else if (value < FILE_SIZE.MEGA.multiplier) {
60
+ unit = FILE_SIZE.KILO;
61
+ }
62
+ else {
63
+ unit = FILE_SIZE.MEGA;
64
+ }
65
+ return `${round(value / unit.multiplier, 2)}${unit.symbol}`;
66
+ }
67
+ const DEFAULT_FILE_NAME = 'webpack-stats.json';
68
+ function resolveFilepath(fileName = DEFAULT_FILE_NAME, outputDir) {
69
+ // Check if the fileName is an absolute path
70
+ if (path.isAbsolute(fileName)) {
71
+ return fileName;
72
+ }
73
+ // If the fileName is not an absolute path, join it with the output directory or the current working directory
74
+ return path.join(outputDir || process.cwd(), fileName);
75
+ }
76
+
77
+ export { formatFileSize, getByteSize, getChunkId, getHash, resolveFilepath, round };
78
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../src/utils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import path from 'node:path';
2
+ import fs from 'node:fs/promises';
3
+
4
+ async function statsWrite(filepath, stats) {
5
+ const content = JSON.stringify(stats, null, 2);
6
+ // Create base directory if it does not exist
7
+ await fs.mkdir(path.dirname(filepath), { recursive: true });
8
+ await fs.writeFile(filepath, content);
9
+ return {
10
+ filepath,
11
+ content,
12
+ };
13
+ }
14
+
15
+ export { statsWrite };
16
+ //# sourceMappingURL=write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.js","sources":["../../../src/write.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAaO,eAAe,UAAU,CAE9B,QAAgB,EAAE,KAAQ,EAAA;AAC1B,IAAA,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;;AAG9C,IAAA,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAE3D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAErC,OAAO;QACL,QAAQ;QACR,OAAO;KACR;AACH;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rollup-plugin-webpack-stats",
3
- "version": "2.1.4",
3
+ "version": "2.1.5-beta.0",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -11,19 +11,19 @@
11
11
  "stats",
12
12
  "bundle-stats"
13
13
  ],
14
- "main": "dist/index.cjs",
15
- "module": "dist/index.mjs",
16
- "typings": "dist/index.d.ts",
14
+ "main": "lib/cjs/index.js",
15
+ "module": "lib/esm/index.js",
16
+ "typings": "lib/types/index.d.ts",
17
17
  "exports": {
18
18
  ".": {
19
- "types": "./dist/index.d.ts",
20
- "import": "./dist/index.mjs",
21
- "require": "./dist/index.cjs"
19
+ "types": "./lib/types/index.d.ts",
20
+ "import": "./lib/esm/index.js",
21
+ "require": "./lib/cjs/index.js"
22
22
  },
23
23
  "./transform": {
24
- "types": "./dist/transform.d.ts",
25
- "import": "./dist/transform.mjs",
26
- "require": "./dist/transform.cjs"
24
+ "types": "./lib/types/transform.d.ts",
25
+ "import": "./lib/esm/transform.js",
26
+ "require": "./lib/cjs/transform.js"
27
27
  }
28
28
  },
29
29
  "author": {
@@ -40,17 +40,20 @@
40
40
  },
41
41
  "homepage": "https://github.com/relative-ci/rollup-plugin-webpack-stats/blob/master/#readme",
42
42
  "files": [
43
- "dist"
43
+ "lib"
44
44
  ],
45
45
  "engines": {
46
46
  "node": ">=18"
47
47
  },
48
48
  "scripts": {
49
- "prebuild": "rimraf ./dist",
50
- "build": "tsc && rollup -c rollup.config.mjs",
49
+ "build": "npm run clean && rollup -c && npm run build-type",
50
+ "build-type": "echo '{\"type\":\"commonjs\"}' > lib/cjs/package.json && echo '{\"type\":\"module\"}' > lib/esm/package.json",
51
+ "clean": "rimraf ./lib",
51
52
  "lint": "exit 0",
52
53
  "test:unit": "vitest test/unit",
53
- "test:package": "cd test/package && vitest",
54
+ "test:package": "npm run test:package:rollup && npm run test:package:vite",
55
+ "test:package:rollup": "cd test/package/rollup && vitest",
56
+ "test:package:vite": "cd test/package/vite && vitest",
54
57
  "bump": "./scripts/bump.sh",
55
58
  "release": "./scripts/release.sh"
56
59
  },
@@ -67,6 +70,8 @@
67
70
  },
68
71
  "devDependencies": {
69
72
  "@release-it/conventional-changelog": "10.0.1",
73
+ "@rollup/plugin-commonjs": "28.0.6",
74
+ "@rollup/plugin-node-resolve": "16.0.1",
70
75
  "@rollup/plugin-typescript": "12.1.4",
71
76
  "@tsconfig/node18": "18.2.4",
72
77
  "@types/node": "24.3.0",
@@ -76,17 +81,18 @@
76
81
  "release-it": "19.0.4",
77
82
  "rimraf": "6.0.1",
78
83
  "rollup": "4.46.4",
84
+ "rollup-plugin-node-externals": "8.1.0",
79
85
  "tslib": "2.8.1",
80
86
  "typescript": "5.9.2",
81
87
  "vitest": "3.2.4"
82
88
  },
83
89
  "dependencies": {
84
- "rollup-plugin-stats": "1.5.0"
90
+ "rollup-plugin-stats": "1.5.1-beta.0"
85
91
  },
86
92
  "peerDependencies": {
87
- "vite": "^5.0.0 || ^6.0.0 || ^7.0.0",
93
+ "rolldown": "^1.0.0-beta.0",
88
94
  "rollup": "^3.0.0 || ^4.0.0",
89
- "rolldown": "^1.0.0-beta.0"
95
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0"
90
96
  },
91
97
  "peerDependenciesMeta": {
92
98
  "vite": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"transform.cjs","sources":["../../src/utils.ts","../../src/transform.ts"],"sourcesContent":[null,null],"names":["path"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"transform.mjs","sources":["../../src/utils.ts","../../src/transform.ts"],"sourcesContent":[null,null],"names":["path"],"mappings":"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"}
package/dist/index.cjs DELETED
@@ -1,48 +0,0 @@
1
- 'use strict';
2
-
3
- var extractStats = require('rollup-plugin-stats/extract');
4
- var transform = require('./chunks/transform.cjs');
5
- var path = require('node:path');
6
- var fs = require('node:fs/promises');
7
- require('path');
8
- require('node:crypto');
9
-
10
- async function statsWrite(filepath, stats) {
11
- const content = JSON.stringify(stats, null, 2);
12
- // Create base directory if it does not exist
13
- await fs.mkdir(path.dirname(filepath), { recursive: true });
14
- await fs.writeFile(filepath, content);
15
- return {
16
- filepath,
17
- content,
18
- };
19
- }
20
-
21
- const PLUGIN_NAME = 'webpackStats';
22
- const webpackStats = (options = {}) => ({
23
- name: PLUGIN_NAME,
24
- async generateBundle(outputOptions, bundle) {
25
- const resolvedOptions = typeof options === 'function' ? options(outputOptions) : options;
26
- const { fileName, excludeAssets, excludeModules, write = statsWrite, ...transformOptions } = resolvedOptions;
27
- const rollupStats = extractStats(bundle, {
28
- excludeAssets,
29
- excludeModules,
30
- // Extract stats source to compute size
31
- source: true,
32
- });
33
- const stats = transform.bundleToWebpackStats(rollupStats, transformOptions);
34
- const filepath = transform.resolveFilepath(fileName, outputOptions.dir);
35
- try {
36
- const res = await write(filepath, stats);
37
- const outputSize = transform.getByteSize(res.content);
38
- this.info(`Stats saved to ${res.filepath} (${transform.formatFileSize(outputSize)})`);
39
- }
40
- catch (error) { // eslint-disable-line
41
- // Log error, but do not throw to allow the compilation to continue
42
- this.warn(error);
43
- }
44
- },
45
- });
46
-
47
- module.exports = webpackStats;
48
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/write.ts","../src/plugin.ts"],"sourcesContent":[null,null],"names":["bundleToWebpackStats","resolveFilepath","getByteSize","formatFileSize"],"mappings":";;;;;;;;;AAaO,eAAe,UAAU,CAE9B,QAAgB,EAAE,KAAQ,EAAA;AAC1B,IAAA,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;;AAG9C,IAAA,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAE3D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAErC,OAAO;QACL,QAAQ;QACR,OAAO;KACR;AACH;;ACpBA,MAAM,WAAW,GAAG,cAAc;AAmB3B,MAAM,YAAY,GAAG,CAC1B,UAAwC,EAAE,MAC9B;AACZ,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,MAAM,cAAc,CAAC,aAAa,EAAE,MAAM,EAAA;AACxC,QAAA,MAAM,eAAe,GAAG,OAAO,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO;AACxF,QAAA,MAAM,EACJ,QAAQ,EACR,aAAa,EACb,cAAc,EACd,KAAK,GAAG,UAAU,EAClB,GAAG,gBAAgB,EACpB,GAAG,eAAe;AAEnB,QAAA,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,EAAE;YACvC,aAAa;YACb,cAAc;;AAEd,YAAA,MAAM,EAAE,IAAI;AACb,SAAA,CAAC;QACF,MAAM,KAAK,GAAGA,8BAAoB,CAAC,WAAW,EAAE,gBAAgB,CAAC;QACjE,MAAM,QAAQ,GAAGC,yBAAe,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC;AAE7D,QAAA,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,KAA2C,CAAC;YAC9E,MAAM,UAAU,GAAGC,qBAAW,CAAC,GAAG,CAAC,OAAO,CAAC;AAE3C,YAAA,IAAI,CAAC,IAAI,CAAC,CAAA,eAAA,EAAkB,GAAG,CAAC,QAAQ,CAAA,EAAA,EAAKC,wBAAc,CAAC,UAAU,CAAC,CAAA,CAAA,CAAG,CAAC;QAC7E;AAAE,QAAA,OAAO,KAAU,EAAE;;AAEnB,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAClB;IACF,CAAC;AACF,CAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/write.ts","../src/plugin.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;;;;;AAaO,eAAe,UAAU,CAE9B,QAAgB,EAAE,KAAQ,EAAA;AAC1B,IAAA,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;;AAG9C,IAAA,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAE3D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAErC,OAAO;QACL,QAAQ;QACR,OAAO;KACR;AACH;;ACpBA,MAAM,WAAW,GAAG,cAAc;AAmB3B,MAAM,YAAY,GAAG,CAC1B,UAAwC,EAAE,MAC9B;AACZ,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,MAAM,cAAc,CAAC,aAAa,EAAE,MAAM,EAAA;AACxC,QAAA,MAAM,eAAe,GAAG,OAAO,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO;AACxF,QAAA,MAAM,EACJ,QAAQ,EACR,aAAa,EACb,cAAc,EACd,KAAK,GAAG,UAAU,EAClB,GAAG,gBAAgB,EACpB,GAAG,eAAe;AAEnB,QAAA,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,EAAE;YACvC,aAAa;YACb,cAAc;;AAEd,YAAA,MAAM,EAAE,IAAI;AACb,SAAA,CAAC;QACF,MAAM,KAAK,GAAG,oBAAoB,CAAC,WAAW,EAAE,gBAAgB,CAAC;QACjE,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC;AAE7D,QAAA,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,KAA2C,CAAC;YAC9E,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;AAE3C,YAAA,IAAI,CAAC,IAAI,CAAC,CAAA,eAAA,EAAkB,GAAG,CAAC,QAAQ,CAAA,EAAA,EAAK,cAAc,CAAC,UAAU,CAAC,CAAA,CAAA,CAAG,CAAC;QAC7E;AAAE,QAAA,OAAO,KAAU,EAAE;;AAEnB,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAClB;IACF,CAAC;AACF,CAAA;;;;"}
@@ -1,12 +0,0 @@
1
- 'use strict';
2
-
3
- require('path');
4
- var transform = require('./chunks/transform.cjs');
5
- require('node:path');
6
- require('node:crypto');
7
-
8
-
9
-
10
- exports.bundleToWebpackStats = transform.bundleToWebpackStats;
11
- exports.lookupChunkAsync = transform.lookupChunkAsync;
12
- //# sourceMappingURL=transform.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transform.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -1,5 +0,0 @@
1
- import 'path';
2
- export { b as bundleToWebpackStats, l as lookupChunkAsync } from './chunks/transform.mjs';
3
- import 'node:path';
4
- import 'node:crypto';
5
- //# sourceMappingURL=transform.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transform.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
File without changes
File without changes
File without changes
File without changes
File without changes