Replace fastboot + prember with a playwright script - #1005
Conversation
✅ Deploy Preview for ember-api-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
3cd9e72 to
c987819
Compare
0785563 to
c987819
Compare
mansona
left a comment
There was a problem hiding this comment.
limiting the pre-rendering like this is a major deal, can we have a discussion about this before we merge please
|
I re-remembered this: https://github.com/kmccullough/vite-ember-ssr-example |
|
that was based on my work in the new RFC app. Myself and @jaredgalanis have been working on this particular topic for about a year now and we should discuss this with the learning team before we make changes as impactful as this Some of this work should get landed right away for sure, but not all of it without discussion |
|
@mansona Are you okay with it if we manage to not limit the prerender versions any further than they were already? |
|
@mansona We've managed to restore all the prerender versions |
clear-double-boot instance-initializer
- Replace ember-cli-head with <InHead> component - Replace fastboot's shoebox behavior with similar
This prevents the store from having all versions of data
74f6f1e to
5de125e
Compare
<3 we discussed at length in today's meeting
jenweber
left a comment
There was a problem hiding this comment.
I did a click test of the staging app and did not find any issues. I tested new and old release versions, including fairly deep links.
I understand there is some WIP on an alternative; if/when that is ready, I think it could be swapped in. It seems good to ship a fix for the build timeouts as long as it doesn't prevent any other build strategies in the future (I see the note that it does not) and preserves existing pre-rendering versions coverage.
Before merge & deploy, I'd like to check in again with the learning team, since I've been away from the project for a while. I'll message the team tonight.
ef4
left a comment
There was a problem hiding this comment.
This was discussed at length during the tooling call this week and while there's not consensus on the long-term solution here, @mansona agreed on behalf of the learning team to let this land so that we can get the 7.1 docs deployed, with the understanding that the longer-term integration will still probably be different.


Replaced fastboot with a playwright script and some replacements for fastboot's shoebox.
Reasons
Build time and Ability to Deploy
This PR builds and prerenders all URLs 4 mins 24s and the existing way is 17 minutes and currently being killed by netlify cause over build time.
Development
This paves the way to move to Vite and improved development experience.
I would like to work on moving the Ember API docs to typedoc but to do so and maintain this existing setup where one app renders all versions of the API docs I will have to do significant development work in this app. I would like it to be on the most modern Ember experience before I do that so that it isn't a wasted effort: this app gets little enough attention and would benefit from modernization.
The current development experience is painful, time-wise and feedback-loop-wise, although somewhat improved after removing fastboot and it's deps, even when running with it disabled.
Future-proofing
I've done my best to abstract away server-side rendering into 'prerendering' concept. This PR should not preclude moving to any official SSR or prerendering solution in the future and I am even willing to commit to doing that work.
This works fantastically but it is dramatically slower. Each version takes about 2 minutes to prerender, so we are limited to 7 versions to keep under Netlify's 15 minute threshold. For now, this is possibly fine? We can do the latest versions of each majorThanks to @ef4 this is no longer true.