chore: Update version for release (pre) #8217
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to release-next, this PR will be updated.
release-nextis currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, runchangeset pre exitonrelease-next.Releases
@remix-run/[email protected]
Minor Changes
DataFunctionArgsin favor ofLoaderFunctionArgs/ActionFunctionArgs. This is aimed at keeping the types aligned across server/client loaders/actions now thatclientLoader/clientActonfunctions haveserverLoader/serverActionparameters which differentiateClientLoaderFunctionArgs/ClientActionFunctionArgs. (#8173)Patch Changes
@remix-run/[email protected]@remix-run/[email protected]
Minor Changes
DataFunctionArgsin favor ofLoaderFunctionArgs/ActionFunctionArgs. This is aimed at keeping the types aligned across server/client loaders/actions now thatclientLoader/clientActonfunctions haveserverLoader/serverActionparameters which differentiateClientLoaderFunctionArgs/ClientActionFunctionArgs. (#8173)Patch Changes
@remix-run/[email protected]@remix-run/[email protected]
Minor Changes
Vite: exclude modules within
.serverdirectories from client build (#8154)Add support for
clientLoader/clientAction/HydrateFallbackroute exports (RFC). (#8173)Remix now supports loaders/actions that run on the client (in addition to, or instead of the loader/action that runs on the server). While we still recommend server loaders/actions for the majority of your data needs in a Remix app - these provide some levers you can pull for more advanced use-cases such as:
localStorage)IndexedDB)By default,
clientLoaderwill not run on hydration, and will only run on subsequent client side navigations.If you wish to run your client loader on hydration, you can set
clientLoader.hydrate=trueto force Remix to execute it on initial page load. Keep in mind that Remix will still SSR your route component so you should ensure that there is no new required data being added by yourclientLoader.If your
clientLoaderneds to run on hydration and adds data you require to render the route component, you can export aHydrateFallbackcomponent that will render during SSR, and then your route component will not render until theclientLoaderhas executed on hydration.clientAction1is simpler thanclientLoaderbecause it has no hydration use-cases.clientActionwill only run on client-side navigations.For more information, please refer to the
clientLoaderandclientActiondocumentation.Vite: Strict route exports (#8171)
With Vite, Remix gets stricter about which exports are allowed from your route modules.
Previously, the Remix compiler would allow any export from routes.
While this was convenient, it was also a common source of bugs that were hard to track down because they only surfaced at runtime.
For more, see https://remix.run/docs/en/main/future/vite#strict-route-exports
Add a new
future.v3_relativeSplatPathflag to implement a breaking bug fix to relative routing when inside a splat route. For more information, please see the React Router6.21.0Release Notes and theuseResolvedPathdocs. (#8216)Patch Changes
Upgrade Vite peer dependency range to v5 (#8172)
Support HMR for routes with
handleexport in Vite dev (#8022)Fix flash of unstyled content for non-Express custom servers in Vite dev (#8076)
Bundle CSS imported in client entry file in Vite plugin (#8143)
Change Vite build output paths to fix a conflict between how Vite and the Remix compiler each manage the
publicdirectory. (#8077)This is a breaking change for projects using the unstable Vite plugin.
The server is now compiled into
build/serverrather thanbuild, and the client is now compiled intobuild/clientrather thanpublic.For more information on the changes and guidance on how to migrate your project, refer to the updated Remix Vite documentation.
Remove undocumented
legacyCssImportsoption from Vite plugin due to issues with?urlimports of CSS files not being processed correctly in Vite (#8096)Vite: fix access to default
entry.{client,server}.tsxwithin pnpm workspace on Windows (#8057)Remove
unstable_createViteServerandunstable_loadViteServerBuildwhich were only minimal wrappers around Vite'screateServerandssrLoadModulefunctions when using a custom server. (#8120)This is a breaking change for projects using the unstable Vite plugin with a custom server.
Instead, we now provide
unstable_viteServerBuildModuleIdso that custom servers interact with Vite directly rather than via Remix APIs, for example:Creating the Vite server in middleware mode:
const vite = process.env.NODE_ENV === "production" ? undefined - : await unstable_createViteServer(); + : await import("vite").then(({ createServer }) => + createServer({ + server: { + middlewareMode: true, + }, + }) + );Loading the Vite server build in the request handler:
app.all( "*", createRequestHandler({ build: vite - ? () => unstable_loadViteServerBuild(vite) + ? () => vite.ssrLoadModule(unstable_viteServerBuildModuleId) : await import("./build/server/index.js"), }) );Pass request handler errors to
vite.ssrFixStacktracein Vite dev to ensure stack traces correctly map to the original source code (#8066)Vite: Preserve names for exports from .client imports (#8200)
Unlike
.servermodules, the main idea is not to prevent code from leaking into the server buildsince the client build is already public. Rather, the goal is to isolate the SSR render from client-only code.
Routes need to import code from
.clientmodules without compilation failing and then rely on runtime checksto determine if the code is running on the server or client.
Replacing
.clientmodules with empty modules would cause the build to fail as ESM named imports are statically analyzed.So instead, we preserve the named export but replace each exported value with an empty object.
That way, the import is valid at build time and the standard runtime checks can be used to determine if then
code is running on the server or client.
Add
@remix-run/nodeto Vite'soptimizeDeps.includearray (#8177)Improve Vite plugin performance (#8121)
server.preTransformRequestsin Vite child compiler since it's only used to process route modulesRemove automatic global Node polyfill installation from the built-in Vite dev server and instead allow explicit opt-in. (#8119)
This is a breaking change for projects using the unstable Vite plugin without a custom server.
If you're not using a custom server, you should call
installGlobalsin your Vite config instead.import { unstable_vitePlugin as remix } from "@remix-run/dev"; +import { installGlobals } from "@remix-run/node"; import { defineConfig } from "vite"; +installGlobals(); export default defineConfig({ plugins: [remix()], });Vite: Errors at build-time when client imports .server default export (#8184)
Remix already stripped .server file code before ensuring that server code never makes it into the client.
That results in errors when client code tries to import server code, which is exactly what we want!
But those errors were happening at runtime for default imports.
A better experience is to have those errors happen at build-time so that you guarantee that your users won't hit them.
Fix
request instanceof Requestchecks when using Vite dev server (#8062)Updated dependencies:
@remix-run/[email protected]@remix-run/[email protected]@remix-run/[email protected]@remix-run/[email protected]
Minor Changes
DataFunctionArgsin favor ofLoaderFunctionArgs/ActionFunctionArgs. This is aimed at keeping the types aligned across server/client loaders/actions now thatclientLoader/clientActonfunctions haveserverLoader/serverActionparameters which differentiateClientLoaderFunctionArgs/ClientActionFunctionArgs. (#8173)Patch Changes
@remix-run/[email protected]@remix-run/[email protected]
Minor Changes
Add support for
clientLoader/clientAction/HydrateFallbackroute exports (RFC). (#8173)Remix now supports loaders/actions that run on the client (in addition to, or instead of the loader/action that runs on the server). While we still recommend server loaders/actions for the majority of your data needs in a Remix app - these provide some levers you can pull for more advanced use-cases such as:
localStorage)IndexedDB)By default,
clientLoaderwill not run on hydration, and will only run on subsequent client side navigations.If you wish to run your client loader on hydration, you can set
clientLoader.hydrate=trueto force Remix to execute it on initial page load. Keep in mind that Remix will still SSR your route component so you should ensure that there is no new required data being added by yourclientLoader.If your
clientLoaderneds to run on hydration and adds data you require to render the route component, you can export aHydrateFallbackcomponent that will render during SSR, and then your route component will not render until theclientLoaderhas executed on hydration.clientAction1is simpler thanclientLoaderbecause it has no hydration use-cases.clientActionwill only run on client-side navigations.For more information, please refer to the
clientLoaderandclientActiondocumentation.Add a new
future.v3_relativeSplatPathflag to implement a breaking bug fix to relative routing when inside a splat route. For more information, please see the React Router6.21.0Release Notes and theuseResolvedPathdocs. (#8216)Patch Changes
@remix-run/[email protected]@remix-run/[email protected]
Minor Changes
Add support for
clientLoader/clientAction/HydrateFallbackroute exports (RFC). (#8173)Remix now supports loaders/actions that run on the client (in addition to, or instead of the loader/action that runs on the server). While we still recommend server loaders/actions for the majority of your data needs in a Remix app - these provide some levers you can pull for more advanced use-cases such as:
localStorage)IndexedDB)By default,
clientLoaderwill not run on hydration, and will only run on subsequent client side navigations.If you wish to run your client loader on hydration, you can set
clientLoader.hydrate=trueto force Remix to execute it on initial page load. Keep in mind that Remix will still SSR your route component so you should ensure that there is no new required data being added by yourclientLoader.If your
clientLoaderneds to run on hydration and adds data you require to render the route component, you can export aHydrateFallbackcomponent that will render during SSR, and then your route component will not render until theclientLoaderhas executed on hydration.clientAction1is simpler thanclientLoaderbecause it has no hydration use-cases.clientActionwill only run on client-side navigations.For more information, please refer to the
clientLoaderandclientActiondocumentation.Deprecate
DataFunctionArgsin favor ofLoaderFunctionArgs/ActionFunctionArgs. This is aimed at keeping the types aligned across server/client loaders/actions now thatclientLoader/clientActonfunctions haveserverLoader/serverActionparameters which differentiateClientLoaderFunctionArgs/ClientActionFunctionArgs. (#8173)Add a new
future.v3_relativeSplatPathflag to implement a breaking bug fix to relative routing when inside a splat route. For more information, please see the React Router6.21.0Release Notes and theuseResolvedPathdocs. (#8216)Patch Changes
vite.ssrFixStacktracein Vite dev to ensure stack traces correctly map to the original source code (#8066)@remix-run/[email protected]
Minor Changes
Add support for
clientLoader/clientAction/HydrateFallbackroute exports (RFC). (#8173)Remix now supports loaders/actions that run on the client (in addition to, or instead of the loader/action that runs on the server). While we still recommend server loaders/actions for the majority of your data needs in a Remix app - these provide some levers you can pull for more advanced use-cases such as:
localStorage)IndexedDB)By default,
clientLoaderwill not run on hydration, and will only run on subsequent client side navigations.If you wish to run your client loader on hydration, you can set
clientLoader.hydrate=trueto force Remix to execute it on initial page load. Keep in mind that Remix will still SSR your route component so you should ensure that there is no new required data being added by yourclientLoader.If your
clientLoaderneds to run on hydration and adds data you require to render the route component, you can export aHydrateFallbackcomponent that will render during SSR, and then your route component will not render until theclientLoaderhas executed on hydration.clientAction1is simpler thanclientLoaderbecause it has no hydration use-cases.clientActionwill only run on client-side navigations.For more information, please refer to the
clientLoaderandclientActiondocumentation.Add a new
future.v3_relativeSplatPathflag to implement a breaking bug fix to relative routing when inside a splat route. For more information, please see the React Router6.21.0Release Notes and theuseResolvedPathdocs. (#8216)Patch Changes
@remix-run/[email protected]@remix-run/[email protected]@remix-run/[email protected]
Patch Changes
@remix-run/[email protected]@remix-run/[email protected]
Patch Changes
@remix-run/[email protected]@remix-run/[email protected]
Patch Changes
@remix-run/[email protected]@remix-run/[email protected]
Patch Changes
@remix-run/[email protected]@remix-run/[email protected]
Patch Changes
?t=timestampsuffix (rebuilds) (#8174)@remix-run/[email protected]@remix-run/[email protected][email protected]
[email protected]
remixSee the
CHANGELOG.mdin individual Remix packages for all changes.@remix-run/[email protected]
@remix-run/[email protected]