rollup-plugin-webpack-stats 1.1.0 → 1.2.0-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.
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/transform.cjs +57 -26
- package/dist/transform.cjs.map +1 -1
- package/dist/transform.d.ts +34 -7
- package/dist/transform.mjs +57 -26
- package/dist/transform.mjs.map +1 -1
- package/package.json +9 -9
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/plugin.ts"],"sourcesContent":[null],"names":["bundleToWebpackStats"],"mappings":";;;;;;AAKA,MAAM,IAAI,GAAG,cAAc
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/plugin.ts"],"sourcesContent":[null],"names":["bundleToWebpackStats"],"mappings":";;;;;;AAKA,MAAM,IAAI,GAAG,cAAc;AAcd,MAAA,YAAY,GAAG,CAC1B,UAAwC,EAAE,MAC9B;AACZ,IAAA,IAAI,EAAE,IAAI;IACV,cAAc,CAAC,aAAa,EAAE,MAAM,EAAA;AAClC,QAAA,MAAM,eAAe,GACnB,OAAO,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO;QAElE,MAAM,MAAM,GAAGA,8BAAoB,CAAC,MAAM,EAAE,eAAe,CAAC;QAE5D,IAAI,CAAC,QAAQ,CAAC;AACZ,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,QAAQ,EAAE,eAAe,CAAC,QAAQ,IAAI,oBAAoB;AAC1D,YAAA,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;AAC/B,SAAA,CAAC;KACH;AACF,CAAA;;;;"}
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/plugin.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKA,MAAM,IAAI,GAAG,cAAc
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/plugin.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKA,MAAM,IAAI,GAAG,cAAc;AAcd,MAAA,YAAY,GAAG,CAC1B,UAAwC,EAAE,MAC9B;AACZ,IAAA,IAAI,EAAE,IAAI;IACV,cAAc,CAAC,aAAa,EAAE,MAAM,EAAA;AAClC,QAAA,MAAM,eAAe,GACnB,OAAO,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO;QAElE,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAE,eAAe,CAAC;QAE5D,IAAI,CAAC,QAAQ,CAAC;AACZ,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,QAAQ,EAAE,eAAe,CAAC,QAAQ,IAAI,oBAAoB;AAC1D,YAAA,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;AAC/B,SAAA,CAAC;KACH;AACF,CAAA;;;;"}
|
package/dist/transform.cjs
CHANGED
|
@@ -55,34 +55,66 @@ function checkExcludeFilepath(filepath, option) {
|
|
|
55
55
|
return false;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
/**
|
|
59
|
+
* Store transformed sources
|
|
60
|
+
*/
|
|
61
|
+
class TransformSources {
|
|
62
|
+
constructor() {
|
|
63
|
+
this.entries = {};
|
|
64
|
+
}
|
|
65
|
+
entries = {};
|
|
66
|
+
push(id, source) {
|
|
67
|
+
this.entries[id] = source;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Get asset source
|
|
71
|
+
*/
|
|
72
|
+
getByAsset = (asset) => {
|
|
73
|
+
return this.entries[asset.name];
|
|
62
74
|
};
|
|
63
|
-
|
|
75
|
+
/**
|
|
76
|
+
* Get chunk source
|
|
77
|
+
*/
|
|
78
|
+
getByChunk = (chunk) => {
|
|
79
|
+
return this.entries[chunk.id];
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Get module source
|
|
83
|
+
*/
|
|
84
|
+
getByModule = (module) => {
|
|
85
|
+
return this.entries[module.name];
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
const defaultTransform = (stats) => stats;
|
|
89
|
+
const bundleToWebpackStats = (bundle, pluginOptions) => {
|
|
90
|
+
const options = { moduleOriginalSize: false, ...pluginOptions };
|
|
91
|
+
const { excludeAssets, excludeModules, moduleOriginalSize, transform = defaultTransform } = options;
|
|
64
92
|
const assets = [];
|
|
65
93
|
const chunks = [];
|
|
66
94
|
const moduleByFileName = {};
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
95
|
+
const sources = new TransformSources();
|
|
96
|
+
const entries = Object.values(bundle);
|
|
97
|
+
entries.forEach((entry) => {
|
|
98
|
+
if (entry.type === 'chunk') {
|
|
99
|
+
if (checkExcludeFilepath(entry.fileName, excludeAssets)) {
|
|
70
100
|
return;
|
|
71
101
|
}
|
|
72
102
|
assets.push({
|
|
73
|
-
name:
|
|
74
|
-
size: getByteSize(
|
|
103
|
+
name: entry.fileName,
|
|
104
|
+
size: getByteSize(entry.code),
|
|
75
105
|
});
|
|
76
|
-
|
|
106
|
+
sources.push(entry.fileName, entry);
|
|
107
|
+
const chunkId = getChunkId(entry);
|
|
77
108
|
chunks.push({
|
|
78
109
|
id: chunkId,
|
|
79
|
-
entry:
|
|
80
|
-
initial: !
|
|
81
|
-
files: [
|
|
82
|
-
names: [
|
|
110
|
+
entry: entry.isEntry,
|
|
111
|
+
initial: !entry.isDynamicEntry,
|
|
112
|
+
files: [entry.fileName],
|
|
113
|
+
names: [entry.name],
|
|
83
114
|
});
|
|
84
|
-
|
|
85
|
-
|
|
115
|
+
sources.push(chunkId, entry);
|
|
116
|
+
Object.entries(entry.modules).forEach(([modulePath, moduleInfo]) => {
|
|
117
|
+
if (checkExcludeFilepath(modulePath, excludeModules)) {
|
|
86
118
|
return;
|
|
87
119
|
}
|
|
88
120
|
// Remove unexpected rollup null prefix
|
|
@@ -99,22 +131,24 @@ const bundleToWebpackStats = (bundle, pluginOptions) => {
|
|
|
99
131
|
else {
|
|
100
132
|
moduleByFileName[relativeModulePathWithPrefix] = {
|
|
101
133
|
name: relativeModulePathWithPrefix,
|
|
102
|
-
size:
|
|
134
|
+
size: moduleOriginalSize
|
|
103
135
|
? moduleInfo.originalLength
|
|
104
136
|
: moduleInfo.renderedLength,
|
|
105
137
|
chunks: [chunkId],
|
|
106
138
|
};
|
|
139
|
+
sources.push(relativeModulePathWithPrefix, { fileName: modulePath, ...moduleInfo });
|
|
107
140
|
}
|
|
108
141
|
});
|
|
109
142
|
}
|
|
110
|
-
else if (
|
|
111
|
-
if (checkExcludeFilepath(
|
|
143
|
+
else if (entry.type === 'asset') {
|
|
144
|
+
if (checkExcludeFilepath(entry.fileName, excludeAssets)) {
|
|
112
145
|
return;
|
|
113
146
|
}
|
|
114
147
|
assets.push({
|
|
115
|
-
name:
|
|
116
|
-
size: getByteSize(
|
|
148
|
+
name: entry.fileName,
|
|
149
|
+
size: getByteSize(entry.source.toString()),
|
|
117
150
|
});
|
|
151
|
+
sources.push(entry.fileName, entry);
|
|
118
152
|
}
|
|
119
153
|
else ;
|
|
120
154
|
});
|
|
@@ -124,12 +158,9 @@ const bundleToWebpackStats = (bundle, pluginOptions) => {
|
|
|
124
158
|
chunks,
|
|
125
159
|
modules: Object.values(moduleByFileName),
|
|
126
160
|
};
|
|
127
|
-
if (!options.transform) {
|
|
128
|
-
return stats;
|
|
129
|
-
}
|
|
130
161
|
let result;
|
|
131
162
|
try {
|
|
132
|
-
result =
|
|
163
|
+
result = transform(stats, sources, bundle);
|
|
133
164
|
}
|
|
134
165
|
catch (error) {
|
|
135
166
|
console.error('Custom transform failed! Returning stats without any transforms.', error);
|
package/dist/transform.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.cjs","sources":["../src/utils.ts","../src/transform.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;;;AAIA,MAAM,WAAW,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"transform.cjs","sources":["../src/utils.ts","../src/transform.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}
|
package/dist/transform.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { OutputBundle } from 'rollup';
|
|
1
|
+
import type { OutputAsset, OutputBundle, OutputChunk, RenderedModule } from 'rollup';
|
|
2
2
|
import type { ExcludeFilepathOption } from './utils';
|
|
3
3
|
export type WebpackStatsFilteredAsset = {
|
|
4
4
|
name: string;
|
|
@@ -24,12 +24,38 @@ export interface WebpackStatsFilteredRootModule extends WebpackStatsFilteredModu
|
|
|
24
24
|
modules?: Array<WebpackStatsFilteredConcatenatedModule>;
|
|
25
25
|
}
|
|
26
26
|
export interface WebpackStatsFiltered {
|
|
27
|
-
builtAt
|
|
27
|
+
builtAt: number;
|
|
28
28
|
hash?: string;
|
|
29
|
-
assets
|
|
30
|
-
chunks
|
|
31
|
-
modules
|
|
29
|
+
assets: Array<WebpackStatsFilteredAsset>;
|
|
30
|
+
chunks: Array<WebpackStatsFilteredChunk>;
|
|
31
|
+
modules: Array<WebpackStatsFilteredRootModule>;
|
|
32
32
|
}
|
|
33
|
+
type AssetSource = OutputChunk | OutputAsset;
|
|
34
|
+
type ChunkSource = OutputChunk;
|
|
35
|
+
type ModuleSource = {
|
|
36
|
+
fileName: string;
|
|
37
|
+
} & RenderedModule;
|
|
38
|
+
/**
|
|
39
|
+
* Store transformed sources
|
|
40
|
+
*/
|
|
41
|
+
declare class TransformSources {
|
|
42
|
+
constructor();
|
|
43
|
+
entries: Record<string, unknown>;
|
|
44
|
+
push(id: string, source: AssetSource | ChunkSource | ModuleSource): void;
|
|
45
|
+
/**
|
|
46
|
+
* Get asset source
|
|
47
|
+
*/
|
|
48
|
+
getByAsset: (asset: WebpackStatsFilteredAsset) => AssetSource;
|
|
49
|
+
/**
|
|
50
|
+
* Get chunk source
|
|
51
|
+
*/
|
|
52
|
+
getByChunk: (chunk: WebpackStatsFilteredChunk) => ChunkSource;
|
|
53
|
+
/**
|
|
54
|
+
* Get module source
|
|
55
|
+
*/
|
|
56
|
+
getByModule: (module: WebpackStatsFilteredModule) => ModuleSource;
|
|
57
|
+
}
|
|
58
|
+
export type TransformCallback = (stats: WebpackStatsFiltered, sources: TransformSources, bundle: OutputBundle) => WebpackStatsFiltered;
|
|
33
59
|
export type BundleTransformOptions = {
|
|
34
60
|
/**
|
|
35
61
|
* Extract module original size or rendered size
|
|
@@ -45,8 +71,9 @@ export type BundleTransformOptions = {
|
|
|
45
71
|
*/
|
|
46
72
|
excludeModules?: ExcludeFilepathOption;
|
|
47
73
|
/**
|
|
48
|
-
*
|
|
74
|
+
* Callback function to access and mutate the resulting stats after the transformation
|
|
49
75
|
*/
|
|
50
|
-
transform?:
|
|
76
|
+
transform?: TransformCallback;
|
|
51
77
|
};
|
|
52
78
|
export declare const bundleToWebpackStats: (bundle: OutputBundle, pluginOptions?: BundleTransformOptions) => WebpackStatsFiltered;
|
|
79
|
+
export {};
|
package/dist/transform.mjs
CHANGED
|
@@ -53,34 +53,66 @@ function checkExcludeFilepath(filepath, option) {
|
|
|
53
53
|
return false;
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
/**
|
|
57
|
+
* Store transformed sources
|
|
58
|
+
*/
|
|
59
|
+
class TransformSources {
|
|
60
|
+
constructor() {
|
|
61
|
+
this.entries = {};
|
|
62
|
+
}
|
|
63
|
+
entries = {};
|
|
64
|
+
push(id, source) {
|
|
65
|
+
this.entries[id] = source;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Get asset source
|
|
69
|
+
*/
|
|
70
|
+
getByAsset = (asset) => {
|
|
71
|
+
return this.entries[asset.name];
|
|
60
72
|
};
|
|
61
|
-
|
|
73
|
+
/**
|
|
74
|
+
* Get chunk source
|
|
75
|
+
*/
|
|
76
|
+
getByChunk = (chunk) => {
|
|
77
|
+
return this.entries[chunk.id];
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Get module source
|
|
81
|
+
*/
|
|
82
|
+
getByModule = (module) => {
|
|
83
|
+
return this.entries[module.name];
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
const defaultTransform = (stats) => stats;
|
|
87
|
+
const bundleToWebpackStats = (bundle, pluginOptions) => {
|
|
88
|
+
const options = { moduleOriginalSize: false, ...pluginOptions };
|
|
89
|
+
const { excludeAssets, excludeModules, moduleOriginalSize, transform = defaultTransform } = options;
|
|
62
90
|
const assets = [];
|
|
63
91
|
const chunks = [];
|
|
64
92
|
const moduleByFileName = {};
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
93
|
+
const sources = new TransformSources();
|
|
94
|
+
const entries = Object.values(bundle);
|
|
95
|
+
entries.forEach((entry) => {
|
|
96
|
+
if (entry.type === 'chunk') {
|
|
97
|
+
if (checkExcludeFilepath(entry.fileName, excludeAssets)) {
|
|
68
98
|
return;
|
|
69
99
|
}
|
|
70
100
|
assets.push({
|
|
71
|
-
name:
|
|
72
|
-
size: getByteSize(
|
|
101
|
+
name: entry.fileName,
|
|
102
|
+
size: getByteSize(entry.code),
|
|
73
103
|
});
|
|
74
|
-
|
|
104
|
+
sources.push(entry.fileName, entry);
|
|
105
|
+
const chunkId = getChunkId(entry);
|
|
75
106
|
chunks.push({
|
|
76
107
|
id: chunkId,
|
|
77
|
-
entry:
|
|
78
|
-
initial: !
|
|
79
|
-
files: [
|
|
80
|
-
names: [
|
|
108
|
+
entry: entry.isEntry,
|
|
109
|
+
initial: !entry.isDynamicEntry,
|
|
110
|
+
files: [entry.fileName],
|
|
111
|
+
names: [entry.name],
|
|
81
112
|
});
|
|
82
|
-
|
|
83
|
-
|
|
113
|
+
sources.push(chunkId, entry);
|
|
114
|
+
Object.entries(entry.modules).forEach(([modulePath, moduleInfo]) => {
|
|
115
|
+
if (checkExcludeFilepath(modulePath, excludeModules)) {
|
|
84
116
|
return;
|
|
85
117
|
}
|
|
86
118
|
// Remove unexpected rollup null prefix
|
|
@@ -97,22 +129,24 @@ const bundleToWebpackStats = (bundle, pluginOptions) => {
|
|
|
97
129
|
else {
|
|
98
130
|
moduleByFileName[relativeModulePathWithPrefix] = {
|
|
99
131
|
name: relativeModulePathWithPrefix,
|
|
100
|
-
size:
|
|
132
|
+
size: moduleOriginalSize
|
|
101
133
|
? moduleInfo.originalLength
|
|
102
134
|
: moduleInfo.renderedLength,
|
|
103
135
|
chunks: [chunkId],
|
|
104
136
|
};
|
|
137
|
+
sources.push(relativeModulePathWithPrefix, { fileName: modulePath, ...moduleInfo });
|
|
105
138
|
}
|
|
106
139
|
});
|
|
107
140
|
}
|
|
108
|
-
else if (
|
|
109
|
-
if (checkExcludeFilepath(
|
|
141
|
+
else if (entry.type === 'asset') {
|
|
142
|
+
if (checkExcludeFilepath(entry.fileName, excludeAssets)) {
|
|
110
143
|
return;
|
|
111
144
|
}
|
|
112
145
|
assets.push({
|
|
113
|
-
name:
|
|
114
|
-
size: getByteSize(
|
|
146
|
+
name: entry.fileName,
|
|
147
|
+
size: getByteSize(entry.source.toString()),
|
|
115
148
|
});
|
|
149
|
+
sources.push(entry.fileName, entry);
|
|
116
150
|
}
|
|
117
151
|
else ;
|
|
118
152
|
});
|
|
@@ -122,12 +156,9 @@ const bundleToWebpackStats = (bundle, pluginOptions) => {
|
|
|
122
156
|
chunks,
|
|
123
157
|
modules: Object.values(moduleByFileName),
|
|
124
158
|
};
|
|
125
|
-
if (!options.transform) {
|
|
126
|
-
return stats;
|
|
127
|
-
}
|
|
128
159
|
let result;
|
|
129
160
|
try {
|
|
130
|
-
result =
|
|
161
|
+
result = transform(stats, sources, bundle);
|
|
131
162
|
}
|
|
132
163
|
catch (error) {
|
|
133
164
|
console.error('Custom transform failed! Returning stats without any transforms.', error);
|
package/dist/transform.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.mjs","sources":["../src/utils.ts","../src/transform.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;AAIA,MAAM,WAAW,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"transform.mjs","sources":["../src/utils.ts","../src/transform.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rollup-plugin-webpack-stats",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0-beta.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -57,17 +57,17 @@
|
|
|
57
57
|
"trailingComma": "es5"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@release-it/conventional-changelog": "
|
|
61
|
-
"@rollup/plugin-typescript": "12.1.
|
|
60
|
+
"@release-it/conventional-changelog": "9.0.1",
|
|
61
|
+
"@rollup/plugin-typescript": "12.1.1",
|
|
62
62
|
"@tsconfig/node18": "18.2.4",
|
|
63
|
-
"@types/node": "22.
|
|
63
|
+
"@types/node": "22.8.2",
|
|
64
64
|
"dotenv": "16.4.5",
|
|
65
65
|
"husky": "9.1.6",
|
|
66
|
-
"release-it": "17.
|
|
67
|
-
"rollup": "4.24.
|
|
68
|
-
"tslib": "2.
|
|
69
|
-
"typescript": "5.6.
|
|
70
|
-
"vitest": "2.1.
|
|
66
|
+
"release-it": "17.10.0",
|
|
67
|
+
"rollup": "4.24.2",
|
|
68
|
+
"tslib": "2.8.0",
|
|
69
|
+
"typescript": "5.6.3",
|
|
70
|
+
"vitest": "2.1.4"
|
|
71
71
|
},
|
|
72
72
|
"peerDependencies": {
|
|
73
73
|
"rollup": "^3.0.0 || ^4.0.0"
|