Skip to content

Commit 0358036

Browse files
Add webpack bundled size checks for client imports
Add @size-limit/webpack to measure realistic bundle sizes when users import from the packages: - react-on-rails/client - react-on-rails-pro/client - react-on-rails-pro/registerServerComponent/client - react-on-rails-pro/wrapServerComponentRenderer/client Use "webpack": false for glob-based entries to prevent bundling server files that have Node.js dependencies. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 5140224 commit 0358036

File tree

3 files changed

+85
-0
lines changed

3 files changed

+85
-0
lines changed

.size-limit.json

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,49 +2,106 @@
22
{
33
"name": "react-on-rails (raw)",
44
"path": "packages/react-on-rails/lib/*.js",
5+
"webpack": false,
56
"gzip": false,
67
"brotli": false
78
},
89
{
910
"name": "react-on-rails (gzip)",
1011
"path": "packages/react-on-rails/lib/*.js",
12+
"webpack": false,
1113
"gzip": true
1214
},
1315
{
1416
"name": "react-on-rails (brotli)",
1517
"path": "packages/react-on-rails/lib/*.js",
18+
"webpack": false,
1619
"brotli": true
1720
},
1821
{
1922
"name": "react-on-rails-pro (raw)",
2023
"path": "packages/react-on-rails-pro/lib/*.js",
24+
"webpack": false,
2125
"gzip": false,
2226
"brotli": false
2327
},
2428
{
2529
"name": "react-on-rails-pro (gzip)",
2630
"path": "packages/react-on-rails-pro/lib/*.js",
31+
"webpack": false,
2732
"gzip": true
2833
},
2934
{
3035
"name": "react-on-rails-pro (brotli)",
3136
"path": "packages/react-on-rails-pro/lib/*.js",
37+
"webpack": false,
3238
"brotli": true
3339
},
3440
{
3541
"name": "react-on-rails-pro-node-renderer (raw)",
3642
"path": "packages/react-on-rails-pro-node-renderer/lib/*.js",
43+
"webpack": false,
3744
"gzip": false,
3845
"brotli": false
3946
},
4047
{
4148
"name": "react-on-rails-pro-node-renderer (gzip)",
4249
"path": "packages/react-on-rails-pro-node-renderer/lib/*.js",
50+
"webpack": false,
4351
"gzip": true
4452
},
4553
{
4654
"name": "react-on-rails-pro-node-renderer (brotli)",
4755
"path": "packages/react-on-rails-pro-node-renderer/lib/*.js",
56+
"webpack": false,
57+
"brotli": true
58+
},
59+
{
60+
"name": "react-on-rails/client bundled (gzip)",
61+
"path": "packages/react-on-rails/lib/ReactOnRails.client.js",
62+
"import": "ReactOnRails",
63+
"gzip": true
64+
},
65+
{
66+
"name": "react-on-rails/client bundled (brotli)",
67+
"path": "packages/react-on-rails/lib/ReactOnRails.client.js",
68+
"import": "ReactOnRails",
69+
"brotli": true
70+
},
71+
{
72+
"name": "react-on-rails-pro/client bundled (gzip)",
73+
"path": "packages/react-on-rails-pro/lib/ReactOnRails.client.js",
74+
"import": "ReactOnRails",
75+
"gzip": true
76+
},
77+
{
78+
"name": "react-on-rails-pro/client bundled (brotli)",
79+
"path": "packages/react-on-rails-pro/lib/ReactOnRails.client.js",
80+
"import": "ReactOnRails",
81+
"brotli": true
82+
},
83+
{
84+
"name": "registerServerComponent/client bundled (gzip)",
85+
"path": "packages/react-on-rails-pro/lib/registerServerComponent/client.js",
86+
"import": "registerServerComponent",
87+
"gzip": true
88+
},
89+
{
90+
"name": "registerServerComponent/client bundled (brotli)",
91+
"path": "packages/react-on-rails-pro/lib/registerServerComponent/client.js",
92+
"import": "registerServerComponent",
93+
"brotli": true
94+
},
95+
{
96+
"name": "wrapServerComponentRenderer/client bundled (gzip)",
97+
"path": "packages/react-on-rails-pro/lib/wrapServerComponentRenderer/client.js",
98+
"import": "wrapServerComponentRenderer",
99+
"gzip": true
100+
},
101+
{
102+
"name": "wrapServerComponentRenderer/client bundled (brotli)",
103+
"path": "packages/react-on-rails-pro/lib/wrapServerComponentRenderer/client.js",
104+
"import": "wrapServerComponentRenderer",
48105
"brotli": true
49106
}
50107
]

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
"@eslint/compat": "^1.2.8",
2323
"@jest/globals": "^29.7.0",
2424
"@size-limit/file": "^12.0.0",
25+
"@size-limit/webpack": "^12.0.0",
2526
"@swc/core": "^1.15.0",
2627
"@testing-library/dom": "^10.4.0",
2728
"@testing-library/jest-dom": "^6.6.3",

pnpm-lock.yaml

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

0 commit comments

Comments
 (0)