Fixed a bug with v2_routeConvention that prevented index files from being recognized as route modules
v1.11.0
New features.
That's it. That's 1.11.0 in a nutshell.
We're dropping a serious feature 💣 on you this week, so strap yourself in.
Promises over the wire with defer
Today we bring you one of our favorite features from React Router 6.4.
Remix aims to provide first-class support for React 18's SSR streaming capabilities. We can do that today with defer.
When you return a defer function call in a route loader, you are initiating a streamed response. This is very useful in cases where lower priority data may take a bit more time. You don't want your users to wait on the slow data if the important stuff is ready to roll.
import { json } from "@remix-run/node";
export async function loader({ request }) {
let [productInfo, productReviews] = await Promise.all([
// Product info query is small, cached aggressively,
// and high priority for the user.
getProductInfo(request),
// Product reviews query is large and cache is more lax.
// It also appears at the bottom of the page and is a lower
// priority, so the user probably doesn't need it right away.
getProductReviews(request),
]);
// Without streaming, we gotta wait for both queries to resolve
// before we can send a response. Our user is getting impatient.
// They probably found something on your competitor's site that
// loaded in the mean time. Wave goodbye to that new yacht you
// were planning to buy with the earnings!
return json({ productInfo, productReviews });
}
In these cases, the slower data is passed to defer as a promise, and everything else a resolved value.
import { defer } from "@remix-run/node";
export async function loader({ request }) {
// Product info query is small, cached aggressively, and
// high priority for the user. Let's go ahead and let it
</tr></table>
Fixed a bug with v2_routeConvention that prevented index modules from being recognized for route paths (195291a3d)
Updated dependencies:
@remix-run/server-runtime@1.11.1
1.11.0
Minor Changes
Specify file loader for .fbx, .glb, .gltf, .hdr, and .mov files (#5030)
Added support for Vanilla Extract via the unstable_vanillaExtract future flag. IMPORTANT: Features marked with unstable are … unstable. While we're confident in the use cases they solve, the API and implementation may change without a major version bump. (#5040)
Add support for CSS side-effect imports via the unstable_cssSideEffectImports future flag. IMPORTANT: Features marked with unstable are … unstable. While we're confident in the use cases they solve, the API and implementation may change without a major version bump. (#4919)
Add support for CSS Modules via the unstable_cssModules future flag. IMPORTANT: Features marked with unstable are … unstable. While we're confident in the use cases they solve, the API and implementation may change without a major version bump. (#4852)
Patch Changes
Add new "flat" routing conventions. This convention will be the default in v2 but is available now under the v2_routeConvention future flag. (#4880)
Added support for handle in MDX frontmatter (#4865)
Updated dependencies:
@remix-run/server-runtime@1.11.0
1.10.1
Patch Changes
Update babel config to transpile down to node 14 (#5047)
Updated dependencies:
@remix-run/server-runtime@1.10.1
1.10.0
Patch Changes
Fixed several issues with TypeScript to JavaScript conversion when running create-remix (#4891)
Resolve asset entry full path to support monorepo import of styles (#4855)
Updated dependencies:
@remix-run/server-runtime@1.10.0
1.9.0
Minor Changes
Allow defining multiple routes for the same route module file (#3970)
Added support and conventions for optional route segments (#4706)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps @remix-run/dev from 1.7.6 to 1.11.1.
Release notes
Sourced from
@remix-run/dev
's releases.... (truncated)
Changelog
Sourced from
@remix-run/dev
's changelog.... (truncated)
Commits
80c2042
chore: Update version for release (#5167)195291a
fix(remix-dev/flat-routes): useindex
without leading underscore for coloca...006b58b
Merge branch 'release-next'1cda61c
chore: Update version for release (#5135)5895433
fix(tests): fixtypecheck
script in fixtures (#5129)fa76f7c
chore(docs,templates): updatetypecheck
script (#5126)98730b8
chore: Update version for release (pre) (#5119)06feadb
chore: Update version for release (pre) (#5097)ef66307
Add future.v2_errorBoundary flag (#4918)809f519
chore(dev): bump peerDependency on to match current releaseDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)