create-sonamu 0.1.7 → 0.1.8
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/package.json
CHANGED
|
@@ -51,23 +51,27 @@ declare module "@tanstack/react-router" {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
await
|
|
54
|
+
// async IIFE로 감싸서 top-level await 제거
|
|
55
|
+
// (top-level await가 있으면 Vite 빌드 시 코드 스플릿 청크가 메인 엔트리를 import하면서 순환 의존성 데드락 발생)
|
|
56
|
+
(async () => {
|
|
57
|
+
await router.load();
|
|
55
58
|
|
|
56
|
-
// SSR/CSR 모두 document 전체에 렌더링
|
|
57
|
-
if (document.documentElement.innerHTML && dehydratedState) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
// SSR/CSR 모두 document 전체에 렌더링
|
|
60
|
+
if (document.documentElement.innerHTML && dehydratedState) {
|
|
61
|
+
// SSR 페이지
|
|
62
|
+
if (ssrConfig?.disableHydrate) {
|
|
63
|
+
// disableHydrate: document 전체 새로 렌더링
|
|
64
|
+
console.log("[Sonamu] Hydration disabled, rendering as CSR");
|
|
65
|
+
ReactDOM.createRoot(document).render(<RouterProvider router={router} />);
|
|
66
|
+
} else {
|
|
67
|
+
// 정상 hydration: document 전체 hydrate
|
|
68
|
+
ReactDOM.hydrateRoot(document, <RouterProvider router={router} />);
|
|
69
|
+
}
|
|
63
70
|
} else {
|
|
64
|
-
//
|
|
65
|
-
ReactDOM.
|
|
71
|
+
// Pure CSR 페이지: document 전체 렌더링
|
|
72
|
+
ReactDOM.createRoot(document).render(<RouterProvider router={router} />);
|
|
66
73
|
}
|
|
67
|
-
}
|
|
68
|
-
// Pure CSR 페이지: document 전체 렌더링
|
|
69
|
-
ReactDOM.createRoot(document).render(<RouterProvider router={router} />);
|
|
70
|
-
}
|
|
74
|
+
})();
|
|
71
75
|
|
|
72
76
|
// Chrome Extension용 Devtools
|
|
73
77
|
declare global {
|