소스 검색

fix: merge radix vendor chunk into react to fix TDZ error

Radix UI has circular dependencies with React internals. Splitting them
into separate chunks caused "Cannot access 'bn' before initialization"
at runtime. Merging them into a single vendor-react chunk fixes the
initialization order.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
tuanchris 4 달 전
부모
커밋
8f687fdf56

+ 4 - 4
frontend/vite.config.ts

@@ -175,15 +175,15 @@ export default defineConfig({
       output: {
         manualChunks(id) {
           if (id.includes('node_modules')) {
-            if (id.includes('react-dom') || id.includes('/react/') || id.includes('react-router')) {
+            // Radix UI has circular dependencies with React internals,
+            // so they must share a chunk to avoid TDZ errors.
+            if (id.includes('react-dom') || id.includes('/react/') || id.includes('react-router') ||
+                id.includes('@radix-ui') || id.includes('@floating-ui') || id.includes('react-remove-scroll')) {
               return 'vendor-react'
             }
             if (id.includes('motion') || id.includes('framer-motion')) {
               return 'vendor-motion'
             }
-            if (id.includes('@radix-ui') || id.includes('@floating-ui') || id.includes('react-remove-scroll')) {
-              return 'vendor-radix'
-            }
             if (id.includes('@dnd-kit')) {
               return 'vendor-dnd'
             }

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
static/dist/assets/index-D0JFYMt5.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
static/dist/assets/vendor-dnd-q9FzeT3W.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
static/dist/assets/vendor-motion-CK5zddn4.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
static/dist/assets/vendor-query-CKpBt6eI.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
static/dist/assets/vendor-radix-B9aLzj-s.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
static/dist/assets/vendor-react--zkW7TCA.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
static/dist/assets/vendor-react-BUBGLCP9.js


+ 5 - 6
static/dist/index.html

@@ -58,12 +58,11 @@
           .catch(function() {});
       })();
     </script>
-    <script type="module" crossorigin src="/assets/index-DvzRKNdC.js"></script>
-    <link rel="modulepreload" crossorigin href="/assets/vendor-radix-B9aLzj-s.js">
-    <link rel="modulepreload" crossorigin href="/assets/vendor-react--zkW7TCA.js">
-    <link rel="modulepreload" crossorigin href="/assets/vendor-query-Do4U4P_7.js">
-    <link rel="modulepreload" crossorigin href="/assets/vendor-dnd-CIuglpGI.js">
-    <link rel="modulepreload" crossorigin href="/assets/vendor-motion-BglLd8Or.js">
+    <script type="module" crossorigin src="/assets/index-D0JFYMt5.js"></script>
+    <link rel="modulepreload" crossorigin href="/assets/vendor-react-BUBGLCP9.js">
+    <link rel="modulepreload" crossorigin href="/assets/vendor-query-CKpBt6eI.js">
+    <link rel="modulepreload" crossorigin href="/assets/vendor-dnd-q9FzeT3W.js">
+    <link rel="modulepreload" crossorigin href="/assets/vendor-motion-CK5zddn4.js">
     <link rel="stylesheet" crossorigin href="/assets/index-BngDXd-M.css">
   <script id="vite-plugin-pwa:register-sw" src="/registerSW.js"></script></head>
   <body>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
static/dist/sw.js


이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.