#rules_prerender — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #rules_prerender, aggregated by home.social.
-
#rules_prerender tries to go a step further with partial prerendering at build time (reducing rendering work on the server) and driving *bundling* by what gets rendered, not just how resources are loaded on the client. We can eagerly load all required JS and CSS up front.
-
Cool to see #MDN exploring a unique #frontend architecture which better meets their needs.
https://developer.mozilla.org/en-US/blog/mdn-front-end-deep-dive/
A lot of the core ideas here are stuff I've been trying to formalize in #HydroActive and #rules_prerender. Islands of reactivity on a mostly static page and driving resource loading by what gets rendered are both key features most FE systems lack.
-
#rules_prerender can actually do this and it's a very powerful feature, but using it in that ecosystem requires buying into a much larger toolchain not everyone will want.
https://github.com/dgp1130/rules_prerender/
I'm imagining a more flexible, standalone tool which could be effectively used in any web toolchain.
-
@passle The full repo is here with the relevant source code, explanation of how it works, and some notable caveats.
https://github.com/dgp1130/out-of-order-streaming/
It's a very cool idea to incorporate into any #SSR component model using shadow DOM. I'll have to consider it for #rules_prerender if and when we get to SSR support.
-
@surma @jaffathecake Very cool stuff! I'm a big proponent of build systems and I've always been frustrated with how web devs seem to couple bundlers and build systems together into a single tool, when they are completely different concepts. Would love to see more build system usage in the web space!
On the #Bazel front, I happen to be working on #rules_prerender, a ruleset for doing static site generation in Bazel, built on top of #aspect_rules_js.
https://github.com/dgp1130/rules_prerender/
It's maybe 90% feature complete towards 1.0, but unfortunately not yet documented. I've been distracted and haven't had the time to builds the docs site (examples are more thorough if you can follow what they're doing).
https://github.com/dgp1130/rules_prerender/tree/d5c9ac48b2f221d64c9bf9bf9b026e859f29a56e/examples/
I don't know if that would be useful for you, but I figured it tied in with the web + build systems + Bazel theme so it might be interesting to you.
-
Are there any good #web conferences / meetups with an #RFP open in the #BayArea or virtual?
There are a few projects I've been working on which I'd love to give talks about and share with the community (not Angular related). Could be talking about any/all of:
1. #HydroActive - A different take on hydration in an HTML-first world. https://github.com/dgp1130/HydroActive/
2. #rules_prerender - A #Bazel ruleset serving as a fast and scalable #StaticSiteGenerator. https://github.com/dgp1130/rules_prerender/
3. #HTMLFragments - A no-tooling, web standard-based approach to HTML over the wire. https://blog.dwac.dev/posts/html-fragments/Greatly appreciate boosts for reach!
-
This change also has a side benefit of giving you full control over the `ts_project` which compiles your prerendering logic. No more awkward wrapping in #rules_prerender, much cleaner!
-
Just landed a major update to #rules_prerender yesterday. I redesigned the core component API to better express dependencies between different "slices" of a component. For example, if you only depend on the client-side JavaScript, the bundler will still find the associated CSS styles.
https://github.com/dgp1130/rules_prerender/issues/40
Really excited about the direction here! Next step is the actual documentation site.
-
Speaking of not writing documentation: I also prototyped a very cool idea for how to greatly simplify the developer experience of #rules_prerender *and* make it understand even more complex dependency graphs.
Still more experimenting to be done, but I'm hopeful this is a viable strategy and will be a big improvement for developers! 😁
-
Released a new version of #rules_prerender with full #Preact support built-in.
https://github.com/dgp1130/rules_prerender/releases/tag/releases%2F0.0.27
Getting closer and closer to something I'd be willing to call a 1.0.0!
Biggest open issue is still actually writing all the documentation, though I keep getting distracted by other features.
-
After a lot of work, I've finally landed a release of #Bazel #rules_prerender which is compatible with #aspect_rules_js! https://github.com/dgp1130/rules_prerender/releases/tag/releases%2F0.0.17
This has been a long time coming, and the issue shows how big a change this was (https://github.com/dgp1130/rules_prerender/issues/48). It didn't help that I kept getting distracted with other things and forgot everything I was doing. 😅
#aspect_rules_js does seem like a solid improvement and it sets up #rules_prerender for a lot of awesome improvements in the future (#ESM, #bzlmod, better bundling, etc.) Super excited about where we can take this next!
Shout out to @alexeagle and Greg Magolan (who I don't think is on Mastodon?) for their help, couldn't have done it without you!