diff --git a/.changeset/chilly-adults-travel.md b/.changeset/chilly-adults-travel.md new file mode 100644 index 00000000..dd913771 --- /dev/null +++ b/.changeset/chilly-adults-travel.md @@ -0,0 +1,5 @@ +--- +'preact-render-to-string': minor +--- + +Adjust the comment-marker for streaming to be the same as renderToStringAsync where we use \$s diff --git a/src/lib/chunked.js b/src/lib/chunked.js index 48aca958..b5ec6c69 100644 --- a/src/lib/chunked.js +++ b/src/lib/chunked.js @@ -113,7 +113,5 @@ function handleError(error, vnode, renderChild) { const fallback = renderChild(vnode.props.fallback); - return found - ? '' - : `${fallback}`; + return found ? '' : `${fallback}`; } diff --git a/src/lib/client.js b/src/lib/client.js index 37c0b28f..e7fe401d 100644 --- a/src/lib/client.js +++ b/src/lib/client.js @@ -15,8 +15,8 @@ // while (c.nextNode()) { // let n = c.referenceNode; -// if (n.data == 'preact-island:' + i) s = n; -// else if (n.data == '/preact-island:' + i) e = n; +// if (n.data == '$s:' + i) s = n; +// else if (n.data == '/$s:' + i) e = n; // if (s && e) break; // } // if (s && e && s.parentNode !== document) { @@ -46,7 +46,7 @@ // } // To modify the INIT_SCRIPT, uncomment the above code, modify it, and paste it into https://try.terser.org/. -const INIT_SCRIPT = `class e extends HTMLElement{connectedCallback(){var e=this;if(!e.isConnected)return;let t=this.getAttribute("data-target");if(t){for(var r,a,i=document.createNodeIterator(document,128);i.nextNode();){let e=i.referenceNode;if(e.data=="preact-island:"+t?r=e:e.data=="/preact-island:"+t&&(a=e),r&&a)break}r&&a&&r.parentNode!==document&&requestAnimationFrame((()=>{for(var t=a.previousSibling;t!=r&&t&&t!=r;)a.parentNode.removeChild(t),t=a.previousSibling;for(i=r;e.firstChild;)r=e.firstChild,e.removeChild(r),i.after(r),i=r;e.parentNode.removeChild(e)}))}}}customElements.define("preact-island",e);`; +const INIT_SCRIPT = `class e extends HTMLElement{connectedCallback(){var e=this;if(!e.isConnected)return;let t=this.getAttribute("data-target");if(t){for(var r,a,i=document.createNodeIterator(document,128);i.nextNode();){let e=i.referenceNode;if(e.data=="$s:"+t?r=e:e.data=="/$s:"+t&&(a=e),r&&a)break}r&&a&&r.parentNode!==document&&requestAnimationFrame((()=>{for(var t=a.previousSibling;t!=r&&t&&t!=r;)a.parentNode.removeChild(t),t=a.previousSibling;for(i=r;e.firstChild;)r=e.firstChild,e.removeChild(r),i.after(r),i=r;e.parentNode.removeChild(e)}))}}}customElements.define("preact-island",e);`; export function createInitScript() { return ``; diff --git a/test/compat/render-chunked.test.jsx b/test/compat/render-chunked.test.jsx index 22982433..f0699fca 100644 --- a/test/compat/render-chunked.test.jsx +++ b/test/compat/render-chunked.test.jsx @@ -34,7 +34,7 @@ describe('renderToChunks', () => { await promise; expect(result).to.deep.equal([ - '
it works
'), @@ -62,7 +62,7 @@ describe('renderToChunks', () => { suspended.resolve(); expect(result).to.deep.equal([ - 'it works
'), @@ -142,7 +142,7 @@ describe('renderToChunks', () => { await promise; expect(result).to.deep.equal([ - 'id: P0-0
loading...id: P0-0
loading...id: P0-1
'), @@ -182,7 +182,7 @@ describe('renderToChunks', () => { await promise; expect(result).toEqual([ - 'id: P0-0
loading...loading...id: P0-0
loading...loading...id: P0-1
'), @@ -305,7 +305,7 @@ describe('renderToChunks', () => { await promise; expect(result).to.deep.equal([ - 'it works
it works
'), diff --git a/test/compat/stream-node.test.jsx b/test/compat/stream-node.test.jsx index b22cb839..b479bd26 100644 --- a/test/compat/stream-node.test.jsx +++ b/test/compat/stream-node.test.jsx @@ -66,7 +66,7 @@ describe('renderToPipeableStream', () => { const result = await sink.promise; expect(result).to.deep.equal([ - 'it works
'), diff --git a/test/compat/stream.test.jsx b/test/compat/stream.test.jsx index 202c26aa..b198d2de 100644 --- a/test/compat/stream.test.jsx +++ b/test/compat/stream.test.jsx @@ -82,7 +82,7 @@ describe('renderToReadableStream', () => { const result = await sink.promise; expect(result).toEqual([ - 'it works
'),