From e10c463c401d06299a646f7ba720f5bbb5d63983 Mon Sep 17 00:00:00 2001 From: Bob Fanger Date: Sun, 20 Oct 2024 13:56:29 +0200 Subject: [PATCH] fix: SSR when rendering multiple "root" component. --- playwright/tests/ssr.test.ts | 11 +++++++- .../ssr-client-rendered-4-darwin.png | Bin 0 -> 4735 bytes .../ssr-client-rendered-5-darwin.png | Bin 0 -> 2945 bytes .../ssr-client-rendered-6-darwin.png | Bin 0 -> 199 bytes .../ssr-client-rendered-7-darwin.png | Bin 0 -> 7500 bytes .../ssr-client-rendered-8-darwin.png | Bin 0 -> 7537 bytes .../ssr-no-js-server-rendered-4-darwin.png | Bin 0 -> 4735 bytes .../ssr-no-js-server-rendered-5-darwin.png | Bin 0 -> 2945 bytes .../ssr-no-js-server-rendered-6-darwin.png | Bin 0 -> 199 bytes .../ssr-no-js-server-rendered-7-darwin.png | Bin 0 -> 7500 bytes .../ssr-no-js-server-rendered-8-darwin.png | Bin 0 -> 7537 bytes src/lib/internal/ReactWrapper.svelte | 1 + src/lib/internal/types.ts | 1 + src/lib/preprocessReact.js | 1 - src/lib/sveltify.svelte.ts | 26 +++++++++++++++--- 15 files changed, 34 insertions(+), 6 deletions(-) create mode 100644 playwright/tests/ssr.test.ts-snapshots/ssr-client-rendered-4-darwin.png create mode 100644 playwright/tests/ssr.test.ts-snapshots/ssr-client-rendered-5-darwin.png create mode 100644 playwright/tests/ssr.test.ts-snapshots/ssr-client-rendered-6-darwin.png create mode 100644 playwright/tests/ssr.test.ts-snapshots/ssr-client-rendered-7-darwin.png create mode 100644 playwright/tests/ssr.test.ts-snapshots/ssr-client-rendered-8-darwin.png create mode 100644 playwright/tests/ssr.test.ts-snapshots/ssr-no-js-server-rendered-4-darwin.png create mode 100644 playwright/tests/ssr.test.ts-snapshots/ssr-no-js-server-rendered-5-darwin.png create mode 100644 playwright/tests/ssr.test.ts-snapshots/ssr-no-js-server-rendered-6-darwin.png create mode 100644 playwright/tests/ssr.test.ts-snapshots/ssr-no-js-server-rendered-7-darwin.png create mode 100644 playwright/tests/ssr.test.ts-snapshots/ssr-no-js-server-rendered-8-darwin.png diff --git a/playwright/tests/ssr.test.ts b/playwright/tests/ssr.test.ts index 87c3dcd..dd6344c 100644 --- a/playwright/tests/ssr.test.ts +++ b/playwright/tests/ssr.test.ts @@ -6,7 +6,16 @@ import { fileURLToPath } from "url"; test.describe.configure({ mode: "serial" }); test.use({ viewport: { width: 480, height: 360 } }); test.describe("ssr", () => { - const urls = ["/context-svelte", "/context-react", "/preprocessor"]; + const urls = [ + "/context-svelte", + "/context-react", + "/preprocessor", + "/hooks", + "/dynamic", + "/input", + "/react-router/home", + "/react-router/about", + ]; test("client-rendered", async ({ page }) => { // Create Screenshots using Client Side Rendering. diff --git a/playwright/tests/ssr.test.ts-snapshots/ssr-client-rendered-4-darwin.png b/playwright/tests/ssr.test.ts-snapshots/ssr-client-rendered-4-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..96bf15e568ebb4768c75f44a3cbac5c89801b556 GIT binary patch literal 4735 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 literal 0 HcmV?d00001 diff --git a/playwright/tests/ssr.test.ts-snapshots/ssr-client-rendered-6-darwin.png b/playwright/tests/ssr.test.ts-snapshots/ssr-client-rendered-6-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..2bb786f96fe867e265fd0243c7f8e81db6305426 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0y~yV7vfii*hgl$;w=fCqRm^ILO_JVcj{Imq1RVr;B4q z#hkZy4+=IY@VGi|%m`u*P3F93*RfkPMQw7q@9g5Rt4ELb8iw^V?8(?$zP+kp)h72F zclK5>H0&3MX%INb${|PwHR0Lvo05O7H~zK#{#{6Zf&WGgpko+3UHx3vIVCg!0R8zw AkpKVy literal 0 HcmV?d00001 diff --git a/playwright/tests/ssr.test.ts-snapshots/ssr-client-rendered-7-darwin.png b/playwright/tests/ssr.test.ts-snapshots/ssr-client-rendered-7-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..c628c2ce4e2224a3f97864e68135b048905c6975 GIT binary patch literal 7500 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 literal 0 HcmV?d00001 diff --git a/playwright/tests/ssr.test.ts-snapshots/ssr-client-rendered-8-darwin.png b/playwright/tests/ssr.test.ts-snapshots/ssr-client-rendered-8-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..181fd4077c772ad35bf60ac2d89615e0ecb6244d GIT binary patch literal 7537 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 ohvKg6d#HfC%zNols8PUw0Y-a{(*OVf literal 0 HcmV?d00001 diff --git a/playwright/tests/ssr.test.ts-snapshots/ssr-no-js-server-rendered-4-darwin.png b/playwright/tests/ssr.test.ts-snapshots/ssr-no-js-server-rendered-4-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..96bf15e568ebb4768c75f44a3cbac5c89801b556 GIT binary patch literal 4735 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 literal 0 HcmV?d00001 diff --git a/playwright/tests/ssr.test.ts-snapshots/ssr-no-js-server-rendered-6-darwin.png b/playwright/tests/ssr.test.ts-snapshots/ssr-no-js-server-rendered-6-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..2bb786f96fe867e265fd0243c7f8e81db6305426 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0y~yV7vfii*hgl$;w=fCqRm^ILO_JVcj{Imq1RVr;B4q z#hkZy4+=IY@VGi|%m`u*P3F93*RfkPMQw7q@9g5Rt4ELb8iw^V?8(?$zP+kp)h72F zclK5>H0&3MX%INb${|PwHR0Lvo05O7H~zK#{#{6Zf&WGgpko+3UHx3vIVCg!0R8zw AkpKVy literal 0 HcmV?d00001 diff --git a/playwright/tests/ssr.test.ts-snapshots/ssr-no-js-server-rendered-7-darwin.png b/playwright/tests/ssr.test.ts-snapshots/ssr-no-js-server-rendered-7-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..c628c2ce4e2224a3f97864e68135b048905c6975 GIT binary patch literal 7500 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 literal 0 HcmV?d00001 diff --git a/playwright/tests/ssr.test.ts-snapshots/ssr-no-js-server-rendered-8-darwin.png b/playwright/tests/ssr.test.ts-snapshots/ssr-no-js-server-rendered-8-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..181fd4077c772ad35bf60ac2d89615e0ecb6244d GIT binary patch literal 7537 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 ohvKg6d#HfC%zNols8PUw0Y-a{(*OVf literal 0 HcmV?d00001 diff --git a/src/lib/internal/ReactWrapper.svelte b/src/lib/internal/ReactWrapper.svelte index 1e4362d..c69ca5f 100644 --- a/src/lib/internal/ReactWrapper.svelte +++ b/src/lib/internal/ReactWrapper.svelte @@ -59,6 +59,7 @@ node.parent.nodes = node.parent.nodes.filter((n: any) => n !== node); node.rerender?.(); } + node.unroot?.(); }); diff --git a/src/lib/internal/types.ts b/src/lib/internal/types.ts index 36444c7..3a4c96f 100644 --- a/src/lib/internal/types.ts +++ b/src/lib/internal/types.ts @@ -60,6 +60,7 @@ export type TreeNode = SvelteInit & { autoKey: number; nodes: TreeNode[]; rerender?: () => void; + unroot?: () => void; }; export type SvelteInit = { diff --git a/src/lib/preprocessReact.js b/src/lib/preprocessReact.js index 3580184..f9d955a 100644 --- a/src/lib/preprocessReact.js +++ b/src/lib/preprocessReact.js @@ -152,7 +152,6 @@ function transform(content, options) { if (!depsInjected && aliases.length === 0) { return { code: content }; } - // console.log(aliases); if ((depsInjected && !imported) || (!imported && !defined)) { imports.push(`import { sveltify } from "${packageName}";`); } diff --git a/src/lib/sveltify.svelte.ts b/src/lib/sveltify.svelte.ts index d13f24e..907e427 100644 --- a/src/lib/sveltify.svelte.ts +++ b/src/lib/sveltify.svelte.ts @@ -90,12 +90,15 @@ function single( const client = typeof document !== "undefined"; function Sveltified(anchorOrPayload: any, $$props: any) { - const standalone = !sharedRoot; + let standalone = !sharedRoot; if (!createPortal || !ReactDOM) { - throw new Error("createPortal & ReactDOM dependencies are required"); + throw new Error( + "{ createPortal, ReactDOM } are not injected, check svelte.config.js for: `preprocess: [preprocessReact()],`", + ); } $$props.svelteInit = (init: SvelteInit) => { + let unroot: undefined | (() => void); if (!init.parent && !sharedRoot) { let portalTarget = $state(); const hooks = $state<{ Hook: React.FunctionComponent; key: number }[]>( @@ -121,6 +124,17 @@ function single( }, }; sharedRoot = rootNode; + if (!client) { + unroot = () => { + sharedRoot = undefined; + }; + void Promise.resolve().then(() => { + if (sharedRoot === rootNode) { + console.warn("unroot() was not called, did rendering fail?"); + sharedRoot = undefined; + } + }); + } if (client) { const rootEl = document.createElement("react-root"); const root = @@ -148,7 +162,11 @@ function single( } } } - const parent = init.parent ?? (sharedRoot as TreeNode); + let parent = init.parent; + if (!parent) { + parent = sharedRoot as TreeNode; + standalone = true; + } parent.autoKey += 1; const key = `${parent.key}${parent.autoKey}/`; const node: TreeNode = Object.assign(init, { @@ -157,6 +175,7 @@ function single( reactComponent, nodes: [], rerender: parent.rerender, + unroot, }); parent.nodes.push(node); if (client) { @@ -177,7 +196,6 @@ function single( applyPortals(anchorOrPayload, sharedRoot, source); setPayload(undefined); } - sharedRoot = undefined; } } return Sveltified as any;