prisma-archive / prep

Pre-renders your web app (React, Vue, Angular, ...) into static HTML based on your specified routes enabling SEO for single page applications.
MIT License
373 stars 27 forks source link

Does it work for Web Components (native, Polymer)? #14

Open motss opened 7 years ago

motss commented 7 years ago

It'd be nice if Web Components would be rendered.

stereobooster commented 6 years ago

I suppose yes, it is based on headless chrome

lastmjs commented 6 years ago

I think it is more complicated than that. Shadow DOM is the biggest issue if I'm not mistaken. Look into this: https://github.com/skatejs/ssr/blob/master/README.md and this: https://github.com/Polymer/polymer/issues/3955

I don't think SSR for web components is fully possible yet.

stereobooster commented 6 years ago

@motss do you have example of small website with components? I would like to run some tests

toshovski commented 6 years ago

@stereobooster, here are two examples with web components: https://github.com/Polymer/shop

https://github.com/PolymerElements/polymer-starter-kit

stereobooster commented 6 years ago

Still, haven't a chance to look into it. As far as I understand you can prerender Shadow DOM to actual DOM, like rendertron does, but to there is no easy way to prerender and rehydrate. Skate.js, for example, prerenders shadow dom and serializes it to JS