-
-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Only import the root route when SSRing SPA mode's index.html #13023
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🦋 Changeset detectedLatest commit: 7ee78cc The changes in this PR will be included in the next version bump. This PR includes changesets to release 11 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
488431a
to
22c4a99
Compare
working on the latest run 🤷 🚀 |
22c4a99
to
cb3cfec
Compare
This looks awesome! I made a few minor updates but otherwise this is looking good. Do you mind rebasing onto |
Since we only actually render the top-level index route in SPA mode, we don't need to import any other routes in the server bundle; the bundle is solely used to generate the index.html file, and is subsequently discarded. This should speed up SPA mode builds and make them less error prone; often times apps use libraries that are not SSR-capable (e.g. referencing window in the module scope). By excluding all other routes (and their deps), we make the index.html render more likely to be successful and less likely to require a bunch of externals/shimming shenanigans in vite.config.js.
263497a
to
9ce8c08
Compare
Done! Let me know if anything else needs changing |
9ce8c08
to
7ee78cc
Compare
…d-route-typegen * upstream/dev: (65 commits) Generate types for `virtual:react-router/server-build` (remix-run#13152) Add support for client context and middleware (unstable) (remix-run#12941) Add playground for `vite-plugin-cloudflare` (remix-run#13151) do not typegen params for layout routes with a corresponding index (remix-run#13131) (remix-run#13140) Fix types for `loaderData` and `actionData` that contain `Record`s (remix-run#13139) chore: format chore(dev): remove unused dependencies (remix-run#13134) Remove unused Vite file system watcher (remix-run#13133) Remove stale changesets cherry-picked into release-next for 7.2.0 Fix custom SSR build input with `serverBundles` (remix-run#13107) Skip resource route flow in dev mode when SPA mode is enabled (remix-run#13113) chore: format Add integration test for `vite-plugin-cloudflare` (remix-run#13099) Fix custom client `build.rollupOptions.output.entryFileNames` (remix-run#13098) Detect lazy route discovery manifest version mismatches and trigger reloads (remix-run#13061) Fix critical CSS with custom `Vite.DevEnvironment` (remix-run#13066) Fix usage of `prerender` option with `serverBundles` (remix-run#13082) Fix support for custom `build.assetsDir` (remix-run#13077) Add changeset for remix-run#13064 Only import the root route when SSRing SPA mode's index.html (remix-run#13023) ...
🤖 Hello there, We just published version Thanks! |
🤖 Hello there, We just published version Thanks! |
1 similar comment
🤖 Hello there, We just published version Thanks! |
Since we only SSR the root route in SPA mode, we don't need to import any other routes in the server bundle; the bundle is solely used to generate the index.html file, and is subsequently discarded.
This should speed up SPA mode builds and make them less error prone; often times apps use libraries that are not SSR-capable (e.g. referencing window in the module scope). By excluding all other routes (and their deps), we make the index.html render more likely to be successful and less likely to require a bunch of shenanigans in vite.config.js.
cc @brophdawg11
Closes #12360