rollup-plugin-webpack-stats 2.1.5-beta.5 → 2.1.5
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/README.md +23 -0
- package/{lib/cjs/transform.js → dist/chunks/transform.cjs} +103 -30
- package/dist/chunks/transform.cjs.map +1 -0
- package/{lib/esm/transform.js → dist/chunks/transform.mjs} +99 -25
- package/dist/chunks/transform.mjs.map +1 -0
- package/dist/index.cjs +48 -0
- package/dist/index.cjs.map +1 -0
- package/{lib/esm/plugin.js → dist/index.mjs} +18 -5
- package/dist/index.mjs.map +1 -0
- package/dist/transform.cjs +12 -0
- package/dist/transform.cjs.map +1 -0
- package/dist/transform.mjs +5 -0
- package/dist/transform.mjs.map +1 -0
- package/package.json +21 -28
- package/lib/cjs/index.js +0 -8
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/plugin.js +0 -39
- package/lib/cjs/plugin.js.map +0 -1
- package/lib/cjs/transform.js.map +0 -1
- package/lib/cjs/utils.js +0 -90
- package/lib/cjs/utils.js.map +0 -1
- package/lib/cjs/write.js +0 -23
- package/lib/cjs/write.js.map +0 -1
- package/lib/esm/index.js +0 -6
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/package.json +0 -1
- package/lib/esm/plugin.js.map +0 -1
- package/lib/esm/transform.js.map +0 -1
- package/lib/esm/utils.js +0 -78
- package/lib/esm/utils.js.map +0 -1
- package/lib/esm/write.js +0 -16
- package/lib/esm/write.js.map +0 -1
- /package/{lib/types → dist}/index.d.ts +0 -0
- /package/{lib/types → dist}/plugin.d.ts +0 -0
- /package/{lib/types → dist}/transform.d.ts +0 -0
- /package/{lib/types → dist}/utils.d.ts +0 -0
- /package/{lib/types → dist}/write.d.ts +0 -0
package/README.md
CHANGED
|
@@ -173,3 +173,26 @@ export default defineConfig((env) => ({
|
|
|
173
173
|
|
|
174
174
|
- [example-vite-github-action](https://github.com/relative-ci/example-vite-github-action)
|
|
175
175
|
- [example-vite-cli-github-action](https://github.com/relative-ci/example-vite-cli-github-action)
|
|
176
|
+
|
|
177
|
+
## Related projects
|
|
178
|
+
|
|
179
|
+
### [bundle-stats](https://github.com/relative-ci/bundle-stats)
|
|
180
|
+
|
|
181
|
+
Analyze bundle stats(bundle size, assets, modules, packages) and compare the results between different builds. Support for webpack, rspack, vite, rolldown and rollup.
|
|
182
|
+
|
|
183
|
+
### [rollup-plugin-stats](https://github.com/relative-ci/rollup-webpack-stats)
|
|
184
|
+
|
|
185
|
+
Output vite/rollup/rolldown stats.
|
|
186
|
+
|
|
187
|
+
### :cyclone: [relative-ci.com](https://relative-ci.com?utm_medium=rollup-plugin-webpack-stats)
|
|
188
|
+
|
|
189
|
+
#### Automated bundle analysis, reviews and monitoring - Quickly identify and fix bundle regressions before shipping to production.
|
|
190
|
+
|
|
191
|
+
- :crystal_ball: In-depth bundle stats analysis for every build
|
|
192
|
+
- :chart_with_upwards_trend: Monitor bundle stats changes and identify opportunities for optimizations
|
|
193
|
+
- :bell: Quick feedback with [rule based automated review flow](https://relative-ci.com/documentation/setup/configure/integrations/github-commit-status-review?utm_medium=rollup-plugin-webpack-stats), [GitHub Pull Request comments](https://relative-ci.com/documentation/setup/configure/integrations/github-pull-request-comment?utm_medium=rollup-plugin-webpack-stats), [GitHub check reports](https://relative-ci.com/documentation/setup/configure/integrations/github-check-report?utm_medium=rollup-plugin-webpack-stats), or [Slack messages](https://relative-ci.com/documentation/setup/configure/integrations/slack-notification?utm_medium=rollup-plugin-webpack-stats)
|
|
194
|
+
- :wrench: Support for **webpack**, **vite**, **rspack**, **rollup**, **rolldwon**
|
|
195
|
+
- :hammer: Support for all major CI services(CircleCI, GitHub Actions, Gitlab CI, Jenkins, Travis CI)
|
|
196
|
+
- :nut_and_bolt: Support for **npm**, **yarn** and **pnpm**; support for monorepos
|
|
197
|
+
- :two_hearts: [**Always free** for **Open Source**](https://relative-ci.com/open-source)
|
|
198
|
+
|
|
@@ -1,11 +1,81 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var path = require('path');
|
|
4
|
-
var
|
|
3
|
+
var path$1 = require('path');
|
|
4
|
+
var path = require('node:path');
|
|
5
|
+
var crypto = require('node:crypto');
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
+
}
|
|
9
79
|
|
|
10
80
|
/**
|
|
11
81
|
* Recursivily check if a chunk is async based on the chunks issuers
|
|
@@ -54,29 +124,29 @@ const lookupChunkAsync = (chunksIssuers, chunk, processedChunks = []) => {
|
|
|
54
124
|
class TransformSources {
|
|
55
125
|
constructor() {
|
|
56
126
|
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 = {};
|
|
76
127
|
}
|
|
128
|
+
entries = {};
|
|
77
129
|
push(id, source) {
|
|
78
130
|
this.entries[id] = source;
|
|
79
131
|
}
|
|
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
|
+
};
|
|
80
150
|
}
|
|
81
151
|
const defaultTransform = (stats) => stats;
|
|
82
152
|
const bundleToWebpackStats = (bundle, pluginOptions) => {
|
|
@@ -108,10 +178,10 @@ const bundleToWebpackStats = (bundle, pluginOptions) => {
|
|
|
108
178
|
if (entry.type === 'chunk') {
|
|
109
179
|
assets.push({
|
|
110
180
|
name: entry.fileName,
|
|
111
|
-
size:
|
|
181
|
+
size: getByteSize(entry.code),
|
|
112
182
|
});
|
|
113
183
|
sources.push(entry.fileName, entry);
|
|
114
|
-
const chunkId =
|
|
184
|
+
const chunkId = getChunkId(entry);
|
|
115
185
|
const chunkAsync = lookupChunkAsync(chunksIssuers, entry);
|
|
116
186
|
chunks.push({
|
|
117
187
|
id: chunkId,
|
|
@@ -124,11 +194,11 @@ const bundleToWebpackStats = (bundle, pluginOptions) => {
|
|
|
124
194
|
Object.entries(entry.modules).forEach(([modulePath, moduleInfo]) => {
|
|
125
195
|
// Remove unexpected rollup null prefix
|
|
126
196
|
const normalizedModulePath = modulePath.replace('\u0000', '');
|
|
127
|
-
const relativeModulePath =
|
|
197
|
+
const relativeModulePath = path$1.relative(process.cwd(), normalizedModulePath);
|
|
128
198
|
// Match webpack output - add current directory prefix for child modules
|
|
129
199
|
const relativeModulePathWithPrefix = relativeModulePath.match(/^\.\./)
|
|
130
200
|
? relativeModulePath
|
|
131
|
-
: `.${
|
|
201
|
+
: `.${path$1.sep}${relativeModulePath}`;
|
|
132
202
|
const moduleEntry = moduleByFileName[relativeModulePathWithPrefix];
|
|
133
203
|
if (moduleEntry) {
|
|
134
204
|
moduleEntry.chunks.push(chunkId);
|
|
@@ -148,7 +218,7 @@ const bundleToWebpackStats = (bundle, pluginOptions) => {
|
|
|
148
218
|
else if (entry.type === 'asset') {
|
|
149
219
|
assets.push({
|
|
150
220
|
name: entry.fileName,
|
|
151
|
-
size:
|
|
221
|
+
size: getByteSize(entry.source),
|
|
152
222
|
});
|
|
153
223
|
sources.push(entry.fileName, entry);
|
|
154
224
|
}
|
|
@@ -172,5 +242,8 @@ const bundleToWebpackStats = (bundle, pluginOptions) => {
|
|
|
172
242
|
};
|
|
173
243
|
|
|
174
244
|
exports.bundleToWebpackStats = bundleToWebpackStats;
|
|
245
|
+
exports.formatFileSize = formatFileSize;
|
|
246
|
+
exports.getByteSize = getByteSize;
|
|
175
247
|
exports.lookupChunkAsync = lookupChunkAsync;
|
|
176
|
-
|
|
248
|
+
exports.resolveFilepath = resolveFilepath;
|
|
249
|
+
//# sourceMappingURL=transform.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform.cjs","sources":["../../src/utils.ts","../../src/transform.ts"],"sourcesContent":[null,null],"names":["path"],"mappings":"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"}
|
|
@@ -1,5 +1,79 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
|
-
import
|
|
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
|
+
}
|
|
3
77
|
|
|
4
78
|
/**
|
|
5
79
|
* Recursivily check if a chunk is async based on the chunks issuers
|
|
@@ -48,29 +122,29 @@ const lookupChunkAsync = (chunksIssuers, chunk, processedChunks = []) => {
|
|
|
48
122
|
class TransformSources {
|
|
49
123
|
constructor() {
|
|
50
124
|
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 = {};
|
|
70
125
|
}
|
|
126
|
+
entries = {};
|
|
71
127
|
push(id, source) {
|
|
72
128
|
this.entries[id] = source;
|
|
73
129
|
}
|
|
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
|
+
};
|
|
74
148
|
}
|
|
75
149
|
const defaultTransform = (stats) => stats;
|
|
76
150
|
const bundleToWebpackStats = (bundle, pluginOptions) => {
|
|
@@ -118,11 +192,11 @@ const bundleToWebpackStats = (bundle, pluginOptions) => {
|
|
|
118
192
|
Object.entries(entry.modules).forEach(([modulePath, moduleInfo]) => {
|
|
119
193
|
// Remove unexpected rollup null prefix
|
|
120
194
|
const normalizedModulePath = modulePath.replace('\u0000', '');
|
|
121
|
-
const relativeModulePath = path.relative(process.cwd(), normalizedModulePath);
|
|
195
|
+
const relativeModulePath = path$1.relative(process.cwd(), normalizedModulePath);
|
|
122
196
|
// Match webpack output - add current directory prefix for child modules
|
|
123
197
|
const relativeModulePathWithPrefix = relativeModulePath.match(/^\.\./)
|
|
124
198
|
? relativeModulePath
|
|
125
|
-
: `.${path.sep}${relativeModulePath}`;
|
|
199
|
+
: `.${path$1.sep}${relativeModulePath}`;
|
|
126
200
|
const moduleEntry = moduleByFileName[relativeModulePathWithPrefix];
|
|
127
201
|
if (moduleEntry) {
|
|
128
202
|
moduleEntry.chunks.push(chunkId);
|
|
@@ -165,5 +239,5 @@ const bundleToWebpackStats = (bundle, pluginOptions) => {
|
|
|
165
239
|
return result;
|
|
166
240
|
};
|
|
167
241
|
|
|
168
|
-
export { bundleToWebpackStats, lookupChunkAsync };
|
|
169
|
-
//# sourceMappingURL=transform.
|
|
242
|
+
export { bundleToWebpackStats as b, formatFileSize as f, getByteSize as g, lookupChunkAsync as l, resolveFilepath as r };
|
|
243
|
+
//# sourceMappingURL=transform.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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,7 +1,20 @@
|
|
|
1
1
|
import extractStats from 'rollup-plugin-stats/extract';
|
|
2
|
-
import { bundleToWebpackStats } from './transform.
|
|
3
|
-
import
|
|
4
|
-
import
|
|
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
|
+
}
|
|
5
18
|
|
|
6
19
|
const PLUGIN_NAME = 'webpackStats';
|
|
7
20
|
const webpackStats = (options = {}) => ({
|
|
@@ -29,5 +42,5 @@ const webpackStats = (options = {}) => ({
|
|
|
29
42
|
},
|
|
30
43
|
});
|
|
31
44
|
|
|
32
|
-
export { webpackStats };
|
|
33
|
-
//# sourceMappingURL=
|
|
45
|
+
export { webpackStats as default };
|
|
46
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
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;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rollup-plugin-webpack-stats",
|
|
3
|
-
"version": "2.1.5
|
|
3
|
+
"version": "2.1.5",
|
|
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": "
|
|
15
|
-
"module": "
|
|
16
|
-
"typings": "
|
|
14
|
+
"main": "dist/index.cjs",
|
|
15
|
+
"module": "dist/index.mjs",
|
|
16
|
+
"typings": "dist/index.d.ts",
|
|
17
17
|
"exports": {
|
|
18
18
|
".": {
|
|
19
|
-
"types": "./
|
|
20
|
-
"import": "./
|
|
21
|
-
"require": "./
|
|
19
|
+
"types": "./dist/index.d.ts",
|
|
20
|
+
"import": "./dist/index.mjs",
|
|
21
|
+
"require": "./dist/index.cjs"
|
|
22
22
|
},
|
|
23
23
|
"./transform": {
|
|
24
|
-
"types": "./
|
|
25
|
-
"import": "./
|
|
26
|
-
"require": "./
|
|
24
|
+
"types": "./dist/transform.d.ts",
|
|
25
|
+
"import": "./dist/transform.mjs",
|
|
26
|
+
"require": "./dist/transform.cjs"
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"author": {
|
|
@@ -40,20 +40,17 @@
|
|
|
40
40
|
},
|
|
41
41
|
"homepage": "https://github.com/relative-ci/rollup-plugin-webpack-stats/blob/master/#readme",
|
|
42
42
|
"files": [
|
|
43
|
-
"
|
|
43
|
+
"dist"
|
|
44
44
|
],
|
|
45
45
|
"engines": {
|
|
46
46
|
"node": ">=18"
|
|
47
47
|
},
|
|
48
48
|
"scripts": {
|
|
49
|
-
"
|
|
50
|
-
"build
|
|
51
|
-
"clean": "rimraf ./lib",
|
|
49
|
+
"prebuild": "rimraf ./dist",
|
|
50
|
+
"build": "tsc && rollup -c rollup.config.mjs",
|
|
52
51
|
"lint": "exit 0",
|
|
53
52
|
"test:unit": "vitest test/unit",
|
|
54
|
-
"test:package": "
|
|
55
|
-
"test:package:rollup": "cd test/package/rollup && vitest",
|
|
56
|
-
"test:package:vite": "cd test/package/vite && vitest",
|
|
53
|
+
"test:package": "cd test/package && vitest",
|
|
57
54
|
"bump": "./scripts/bump.sh",
|
|
58
55
|
"release": "./scripts/release.sh"
|
|
59
56
|
},
|
|
@@ -70,29 +67,25 @@
|
|
|
70
67
|
},
|
|
71
68
|
"devDependencies": {
|
|
72
69
|
"@release-it/conventional-changelog": "10.0.1",
|
|
73
|
-
"@rollup/plugin-commonjs": "28.0.6",
|
|
74
|
-
"@rollup/plugin-node-resolve": "16.0.1",
|
|
75
70
|
"@rollup/plugin-typescript": "12.1.4",
|
|
76
71
|
"@tsconfig/node18": "18.2.4",
|
|
77
|
-
"@types/node": "24.
|
|
78
|
-
"dotenv": "17.2.1",
|
|
72
|
+
"@types/node": "24.5.2",
|
|
79
73
|
"husky": "9.1.7",
|
|
80
|
-
"memfs": "4.
|
|
81
|
-
"release-it": "19.0.
|
|
74
|
+
"memfs": "4.47.0",
|
|
75
|
+
"release-it": "19.0.5",
|
|
82
76
|
"rimraf": "6.0.1",
|
|
83
|
-
"rollup": "4.
|
|
84
|
-
"rollup-plugin-node-externals": "8.1.0",
|
|
77
|
+
"rollup": "4.52.3",
|
|
85
78
|
"tslib": "2.8.1",
|
|
86
79
|
"typescript": "5.9.2",
|
|
87
80
|
"vitest": "3.2.4"
|
|
88
81
|
},
|
|
89
82
|
"dependencies": {
|
|
90
|
-
"rollup-plugin-stats": "1.5.1
|
|
83
|
+
"rollup-plugin-stats": "1.5.1"
|
|
91
84
|
},
|
|
92
85
|
"peerDependencies": {
|
|
93
|
-
"
|
|
86
|
+
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0",
|
|
94
87
|
"rollup": "^3.0.0 || ^4.0.0",
|
|
95
|
-
"
|
|
88
|
+
"rolldown": "^1.0.0-beta.0"
|
|
96
89
|
},
|
|
97
90
|
"peerDependenciesMeta": {
|
|
98
91
|
"vite": {
|
package/lib/cjs/index.js
DELETED
package/lib/cjs/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
package/lib/cjs/plugin.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
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
|
package/lib/cjs/plugin.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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;;;;"}
|
package/lib/cjs/transform.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sources":["../../../src/transform.ts"],"sourcesContent":[null],"names":["getByteSize","getChunkId","path"],"mappings":"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"}
|
package/lib/cjs/utils.js
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
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
|
package/lib/cjs/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../src/utils.ts"],"sourcesContent":[null],"names":["crypto","path"],"mappings":"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"}
|
package/lib/cjs/write.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
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
|
package/lib/cjs/write.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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;;;;"}
|
package/lib/esm/index.js
DELETED
package/lib/esm/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/lib/esm/package.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"type":"module"}
|
package/lib/esm/plugin.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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;;;;"}
|
package/lib/esm/transform.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sources":["../../../src/transform.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AA6CA;;AAEG;AACI,MAAM,gBAAgB,GAAG,CAC9B,aAA4B,EAC5B,KAAiB,EACjB,eAAA,GAAiC,EAAE,KACzB;;IAEV,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AAC5C,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,IAAI,KAAK,CAAC,OAAO,EAAE;AACjB,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,IAAI,KAAK,CAAC,cAAc,EAAE;AACxB,QAAA,OAAO,IAAI;IACb;IAEA,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC;AAElD;;AAEG;IACH,IAAI,CAAC,YAAY,EAAE;AACjB,QAAA,OAAO,KAAK;IACd;IAEA,MAAM,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,WAAW,KAAI;AAC5D,QAAA,OAAO,WAAW,CAAC,cAAc,KAAK,KAAK;AAC7C,IAAA,CAAC,CAAC;AAEF;;AAEG;AACH,IAAA,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;AAClC,QAAA,OAAO,IAAI;IACb;AAEA;;;;AAIG;IACH,IAAI,OAAO,GAAG,IAAI;AAElB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC,EAAE,EAAE;AAC5D,QAAA,OAAO,GAAG,gBAAgB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvG;AAEA,IAAA,OAAO,OAAO;AAChB;AAMA;;AAEG;AACH,MAAM,gBAAgB,CAAA;AACpB,IAAA,WAAA,GAAA;QAIA,IAAA,CAAA,OAAO,GAA4B,EAAE;AAMrC;;AAEG;AACH,QAAA,IAAA,CAAA,UAAU,GAAG,CAAC,KAAgC,KAAiB;YAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAgB;AAChD,QAAA,CAAC;AAED;;AAEG;AACH,QAAA,IAAA,CAAA,UAAU,GAAG,CAAC,KAAgC,KAAiB;YAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAgB;AAC9C,QAAA,CAAC;AAED;;AAEG;AACH,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,MAAkC,KAAkB;YACjE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAiB;AAClD,QAAA,CAAC;AA5BC,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE;IACnB;IAIA,IAAI,CAAC,EAAU,EAAE,MAAgD,EAAA;AAC/D,QAAA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,MAAM;IAC3B;AAsBD;AAID,MAAM,gBAAgB,GAAsB,CAAC,KAAK,KAAK,KAAK;MAc/C,oBAAoB,GAAG,CAClC,MAAa,EACb,aAAsC,KACd;IACxB,MAAM,OAAO,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,aAAa,EAAmC;IAChG,MAAM,EAAE,kBAAkB,EAAE,SAAS,GAAG,gBAAgB,EAAE,GAAG,OAAO;IAEpE,MAAM,MAAM,GAAqC,EAAE;IACnD,MAAM,MAAM,GAAqC,EAAE;IACnD,MAAM,gBAAgB,GAA+C,EAAE;AACvE,IAAA,MAAM,OAAO,GAAG,IAAI,gBAAgB,EAAE;IACtC,MAAM,aAAa,GAAkB,EAAE;IAEvC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;;AAGrC,IAAA,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AACxB,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;YAC1B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,mBAAmB,KAAI;;gBAE7C,IAAI,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,QAAQ,KAAK,mBAAmB,CAAC,EAAE;oBACtG;gBACF;AAEA,gBAAA,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE;AACvC,oBAAA,aAAa,CAAC,mBAAmB,CAAC,GAAG,EAAE;gBACzC;gBAEA,aAAa,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AAChD,YAAA,CAAC,CAAC;QACJ;AACF,IAAA,CAAC,CAAC;;AAGF,IAAA,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AACxB,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;YAC1B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,KAAK,CAAC,QAAQ;AACpB,gBAAA,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;AAC9B,aAAA,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;AAEnC,YAAA,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC;YACjC,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,EAAE,KAAK,CAAC;YAEzD,MAAM,CAAC,IAAI,CAAC;AACV,gBAAA,EAAE,EAAE,OAAO;gBACX,KAAK,EAAE,KAAK,CAAC,OAAO;gBACpB,OAAO,EAAE,CAAC,UAAU;AACpB,gBAAA,KAAK,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;AACvB,gBAAA,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;AACpB,aAAA,CAAC;AACF,YAAA,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;AAE5B,YAAA,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,KAAI;;gBAEjE,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;AAE7D,gBAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CACtC,OAAO,CAAC,GAAG,EAAE,EACb,oBAAoB,CACrB;;AAGD,gBAAA,MAAM,4BAA4B,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO;AACnE,sBAAE;sBACA,IAAI,IAAI,CAAC,GAAG,CAAA,EAAG,kBAAkB,EAAE;AAEvC,gBAAA,MAAM,WAAW,GAAG,gBAAgB,CAAC,4BAA4B,CAAC;gBAElE,IAAI,WAAW,EAAE;AACf,oBAAA,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;gBAClC;qBAAO;oBACL,gBAAgB,CAAC,4BAA4B,CAAC,GAAG;AAC/C,wBAAA,IAAI,EAAE,4BAA4B;AAClC,wBAAA,IAAI,EAAE;8BACF,UAAU,CAAC;8BACX,UAAU,CAAC,cAAc;wBAC7B,MAAM,EAAE,CAAC,OAAO,CAAC;qBAClB;AACD,oBAAA,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAAC;gBACrF;AACF,YAAA,CAAC,CAAC;QACJ;AAAO,aAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,KAAK,CAAC,QAAQ;AACpB,gBAAA,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;AAChC,aAAA,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;QACrC;aAAO;AAGT,IAAA,CAAC,CAAC;AAEF,IAAA,MAAM,KAAK,GAAyB;AAClC,QAAA,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;QACnB,MAAM;QACN,MAAM;AACN,QAAA,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;KACzC;AAED,IAAA,IAAI,MAA4B;AAEhC,IAAA,IAAI;QACF,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC;IAC5C;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,OAAO,CAAC,KAAK,CAAC,kEAAkE,EAAE,KAAK,CAAC;QACxF,MAAM,GAAG,KAAK;IAChB;AAEA,IAAA,OAAO,MAAM;AACf;;;;"}
|
package/lib/esm/utils.js
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
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
|
package/lib/esm/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../src/utils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/lib/esm/write.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
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
|
package/lib/esm/write.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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;;;;"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|