Skip to content

Commit 2a75fbf

Browse files
m4dm4rtig4nClément VALENTINclaude
authored
fix(web): move @headlessui/react to react-vendor chunk (#65)
* fix(web): move @headlessui/react to react-vendor chunk @headlessui/react uses React.forwardRef internally. When it was in a separate ui-vendor chunk, browsers could load it before react-vendor in production, causing "Cannot read properties of undefined (reading 'forwardRef')" errors. Moving @headlessui/react to the same chunk as React ensures it's always loaded after React is available. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> * chore(web): update package-lock * fix(web): restore tree-sitter in package-lock for CI --------- Co-authored-by: Clément VALENTIN <[email protected]> Co-authored-by: Claude <[email protected]>
1 parent f9e2707 commit 2a75fbf

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

apps/web/vite.config.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,16 @@ export default defineConfig(({ mode }) => {
3131
chunkFileNames: 'assets/[name]-[hash].js',
3232
assetFileNames: 'assets/[name]-[hash].[ext]',
3333
manualChunks(id) {
34-
// Core React - loaded on every page
34+
// Core React + React-dependent UI libs - must stay together
35+
// @headlessui/react uses React.forwardRef, so it must be in the same chunk
3536
if (id.includes('node_modules/react/') ||
3637
id.includes('node_modules/react-dom/') ||
37-
id.includes('node_modules/react-router-dom/')) {
38+
id.includes('node_modules/react-router-dom/') ||
39+
id.includes('@headlessui/react')) {
3840
return 'react-vendor';
3941
}
40-
// UI components - loaded on most pages
42+
// UI utilities - no React dependency
4143
if (id.includes('lucide-react') ||
42-
id.includes('@headlessui/react') ||
4344
id.includes('clsx')) {
4445
return 'ui-vendor';
4546
}

0 commit comments

Comments
 (0)