Skip to content

Commit c225537

Browse files
roninjin10William Coryacolytec3
authored
feat: Add bundle visualizer (#3463)
* feat: Add bundle visualizer * Apply suggestion --------- Co-authored-by: William Cory <[email protected]> Co-authored-by: acolytec3 <[email protected]>
1 parent 0b19fc3 commit c225537

File tree

4 files changed

+205
-2
lines changed

4 files changed

+205
-2
lines changed

package-lock.json

Lines changed: 184 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/evm/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
.cachedb
22
benchmarks/*.js
3+
# Bundle stats generated with npm visualize:bundle
4+
stats.html

packages/evm/package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@
5050
"test": "npm run test:node && npm run test:browser",
5151
"test:browser": "npx vitest run --config=../../config/vitest.browser.config.mts",
5252
"test:node": "npx vitest run",
53-
"tsc": "../../config/cli/ts-compile.sh"
53+
"tsc": "../../config/cli/ts-compile.sh",
54+
"visualize:bundle": "npx vite build"
5455
},
5556
"dependencies": {
5657
"@ethereumjs/common": "^4.3.0",
@@ -70,12 +71,14 @@
7071
"@types/core-js": "^2.5.0",
7172
"@types/minimist": "^1.2.2",
7273
"@types/node-dir": "^0.0.34",
74+
"@types/rollup-plugin-visualizer": "^4.2.4",
7375
"benchmark": "^2.1.4",
7476
"kzg-wasm": "^0.4.0",
7577
"level": "^8.0.0",
7678
"memory-level": "^1.0.0",
7779
"minimist": "^1.2.5",
7880
"node-dir": "^0.1.17",
81+
"rollup-plugin-visualizer": "^5.12.0",
7982
"solc": "^0.8.1"
8083
},
8184
"engines": {

packages/evm/vite.config.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,21 @@
11
import wasm from 'vite-plugin-wasm'
22
import topLevelAwait from 'vite-plugin-top-level-await'
33
import { defineConfig } from 'vitest/config'
4+
import { visualizer } from 'rollup-plugin-visualizer'
45

56
export default defineConfig({
6-
plugins: [wasm(), topLevelAwait()],
7+
plugins: [wasm(), topLevelAwait(), visualizer({ open: true, gzipSize: true })],
8+
build: {
9+
rollupOptions: {
10+
// We choose safest to get worst case values
11+
treeshake: 'safest',
12+
},
13+
lib: {
14+
entry: 'src/index.ts',
15+
name: '@ethereumjs/evm',
16+
fileName: (format) => `ethereumjs-evm-bundle.${format}.js`,
17+
// only build for es
18+
formats: ['es'],
19+
},
20+
},
721
})

0 commit comments

Comments
 (0)