@react-router/serve
November 22, 2024 ยท View on GitHub
7.0.0
Major Changes
- Remove single_fetch future flag. (#11522)
- update minimum node version to 18 (#11690)
- Add
exportsfield to all packages (#11675) - node package no longer re-exports from react-router (#11702)
Patch Changes
-
Update
express.staticconfigurations to support prerendering (#11547)- Assets in the
build/client/assetsfolder are served as before, with a 1-year immutableCache-Controlheader - Static files outside of assets, such as pre-rendered
.htmland.datafiles are not served with a specificCache-Controlheader .datafiles are served withContent-Type: text/x-turbo- For some reason, when adding this via
express.static, it seems to also add aCache-Control: public, max-age=0to.datafiles
- For some reason, when adding this via
- Assets in the
-
Updated dependencies:
react-router@7.0.0@react-router/express@7.0.0@react-router/node@7.0.0
2.9.0
Minor Changes
- Put
undicifetch polyfill behind a newinstallGlobals({ nativeFetch: true })parameter (#9198)remix-servewill default to usingundicifor the fetch polyfill iffuture.unstable_singleFetchis enabled because the single fetch implementation relies on theundicipolyfill- Any users opting into Single Fetch and managing their own polyfill will need to pass the flag to
installGlobalson their own to avoid runtime errors with Single Fetch
Patch Changes
- Updated dependencies:
@remix-run/node@2.9.0@remix-run/express@2.9.0
2.8.1
Patch Changes
- Updated dependencies:
@remix-run/express@2.8.1@remix-run/node@2.8.1
2.8.0
Patch Changes
- Updated dependencies:
@remix-run/express@2.8.0@remix-run/node@2.8.0
2.7.2
Patch Changes
- Updated dependencies:
@remix-run/express@2.7.2@remix-run/node@2.7.2
2.7.1
Patch Changes
- Updated dependencies:
@remix-run/express@2.7.1@remix-run/node@2.7.1
2.7.0
Patch Changes
- Updated dependencies:
@remix-run/express@2.7.0@remix-run/node@2.7.0
2.6.0
Patch Changes
- Updated dependencies:
@remix-run/node@2.6.0@remix-run/express@2.6.0
2.5.1
Patch Changes
- Updated dependencies:
@remix-run/express@2.5.1@remix-run/node@2.5.1
2.5.0
Patch Changes
- Don't try to load sourcemaps if they don't exist on disk (#8446)
- Updated dependencies:
@remix-run/node@2.5.0@remix-run/express@2.5.0
2.4.1
Patch Changes
- Use node
fileURLToPathto convert source map URL to path (#8321) - Updated dependencies:
@remix-run/node@2.4.1@remix-run/express@2.4.1
2.4.0
Patch Changes
- Fix source map loading when file has
?t=timestampsuffix (rebuilds) (#8174) - Updated dependencies:
@remix-run/node@2.4.0@remix-run/express@2.4.0
2.3.1
Patch Changes
- Updated dependencies:
@remix-run/express@2.3.1@remix-run/node@2.3.1
2.3.0
Patch Changes
- Updated dependencies:
@remix-run/express@2.3.0@remix-run/node@2.3.0
2.2.0
Patch Changes
- Updated dependencies:
@remix-run/express@2.2.0@remix-run/node@2.2.0
2.1.0
Patch Changes
- Updated dependencies:
@remix-run/express@2.1.0@remix-run/node@2.1.0
2.0.1
Patch Changes
- Fix HMR for CJS projects using
remix-serveand manual mode (remix dev --manual) (#7487)- By explicitly busting the
requirecache,remix-servenow correctly re-imports new server changes in CJS - ESM projects were already working correctly and are not affected by this.
- By explicitly busting the
- Fix error caused by partially written server build (#7470)
- Previously, it was possible to trigger a reimport of the app server code before the new server build had completely been written. Reimporting the partially written server build caused issues related to
build.assetsbeing undefined and crashing when readingbuild.assets.version
- Previously, it was possible to trigger a reimport of the app server code before the new server build had completely been written. Reimporting the partially written server build caused issues related to
- Updated dependencies:
@remix-run/node@2.0.1@remix-run/express@2.0.1
2.0.0
Major Changes
-
remix-servenow picks an open port if 3000 is taken (#7278)- If
PORTenv var is set,remix-servewill use that port - Otherwise,
remix-servepicks an open port (3000 unless that is already taken)
- If
-
Integrate manual mode in
remix-serve(#7231) -
Remove undocumented
createAppNode API (#7229)remix-serveis a CLI, not a library
-
Require Node >=18.0.0 (#6939)
-
Promote the
future.v2_devflag inremix.config.jsto a root leveldevconfig (#7002) -
Default to
serverModuleFormat: "esm"and updateremix-serveto use dynamic import to support ESM and CJS build outputs (#6949) -
Preserve dynamic imports in
remix-servefor external bundle (#7173) -
For preparation of using Node's built in fetch implementation, installing the fetch globals is now a responsibility of the app server (#7009)
-
If you are using
remix-serve, nothing is required -
If you are using your own app server, you will need to install the globals yourself
import { installGlobals } from "@remix-run/node"; installGlobals();
-
-
source-map-supportis now a responsibility of the app server (#7009)-
If you are using
remix-serve, nothing is required -
If you are using your own app server, you will need to install
source-map-supportyourself.npm i source-map-supportimport sourceMapSupport from "source-map-support"; sourceMapSupport.install();
-
Patch Changes
- Update
remix-serveusage error message to support ESM projects (#7400) - Updated dependencies:
@remix-run/node@2.0.0@remix-run/express@2.0.0
1.19.3
Patch Changes
- Updated dependencies:
@remix-run/express@1.19.3@remix-run/node@1.19.3
1.19.2
Patch Changes
- Install
source-map-support(#7039) - Updated dependencies:
@remix-run/node@1.19.2@remix-run/express@1.19.2
1.19.1
Patch Changes
- Updated dependencies:
@remix-run/express@1.19.1@remix-run/node@1.19.1
1.19.0
Patch Changes
- Updated dependencies:
@remix-run/node@1.19.0@remix-run/express@1.19.0
1.18.1
Patch Changes
- Updated dependencies:
@remix-run/node@1.18.1@remix-run/express@1.18.1
1.18.0
Minor Changes
- stabilize v2 dev server (#6615)
Patch Changes
- fix(types): better tuple serialization types (#6616)
- Updated dependencies:
@remix-run/node@1.18.0@remix-run/express@1.18.0
1.17.1
Patch Changes
- Updated dependencies:
@remix-run/express@1.17.1@remix-run/node@1.17.1
1.17.0
Patch Changes
-
Add
HeadersArgstype to be consistent with loaders/actions/meta and allows for using afunctiondeclaration in addition to an arrow function expression (#6247)import type { HeadersArgs } from "@remix-run/node"; // or cloudflare/deno export function headers({ loaderHeaders }: HeadersArgs) { return { "x-my-custom-thing": loaderHeaders.get("x-my-custom-thing") || "fallback", }; } -
Updated dependencies:
@remix-run/node@1.17.0@remix-run/express@1.17.0
1.16.1
Patch Changes
- Updated dependencies:
@remix-run/node@1.16.1@remix-run/express@1.16.1
1.16.0
Patch Changes
- add
@remix-run/node/installside-effect to allownode --require @remix-run/node/install(#6132) - Updated dependencies:
@remix-run/express@1.16.0@remix-run/node@1.16.0
1.15.0
Patch Changes
- Updated dependencies:
@remix-run/express@1.15.0
1.14.3
Patch Changes
- Updated dependencies:
@remix-run/express@1.14.3
1.14.2
Patch Changes
- Updated dependencies:
@remix-run/express@1.14.2
1.14.1
Patch Changes
- Updated dependencies:
@remix-run/express@1.14.1
1.14.0
Patch Changes
- Allow configurable
NODE_ENVwithremix-serve(#5540) - Sync
FutureConfiginterface between packages (#5398) - Updated dependencies:
@remix-run/express@1.14.0
1.13.0
Patch Changes
- Updated dependencies:
@remix-run/express@1.13.0
1.12.0
Minor Changes
- Added a new development server available in the Remix config under the
unstable_devflag. See the release notes for a full description. (#5133)
Patch Changes
- Updated dependencies:
@remix-run/express@1.12.0
1.11.1
Patch Changes
- Updated dependencies:
@remix-run/express@1.11.1
1.11.0
Patch Changes
-
Introduces the
defer()API from@remix-run/routerwith support for server-rendering and HTTP streaming. This utility allows you to defer values returned fromloaderfunctions by returning promises instead of resolved values. This has been refered to as "sending a promise over the wire". (#4920)Informational Resources:
- https://gist.github.com/jacob-ebey/9bde9546c1aafaa6bc8c242054b1be26
- https://github.com/remix-run/remix/blob/main/decisions/0004-streaming-apis.md
Documentation Resources (better docs specific to Remix are in the works):
-
Updated dependencies:
@remix-run/express@1.11.0
1.10.1
Patch Changes
- Updated dependencies:
@remix-run/express@1.10.1
1.10.0
Patch Changes
- Updated dependencies:
@remix-run/express@1.10.0
1.9.0
Patch Changes
- Fix
TypedResponseso that Typescript correctly shows errors for incompatible types inloaderandactionfunctions. (#4734) - Updated dependencies:
@remix-run/express@1.9.0
1.8.2
Patch Changes
- Updated dependencies:
@remix-run/express@1.8.2
1.8.1
Patch Changes
- Updated dependencies:
@remix-run/express@1.8.1
1.8.0
Patch Changes
- Updated dependencies:
@remix-run/express@1.8.0
1.7.6
Patch Changes
- Updated dependencies:
@remix-run/express@1.7.6
1.7.5
Patch Changes
- Updated dependencies:
@remix-run/express@1.7.5
1.7.4
Patch Changes
- Updated dependencies:
@remix-run/express@1.7.4
1.7.3
Patch Changes
- Updated dependencies:
@remix-run/express@1.7.3
1.7.2
Patch Changes
- Updated dependencies:
@remix-run/express@1.7.2
1.7.1
Patch Changes
- Updated dependencies:
@remix-run/express@1.7.1
1.7.0
Minor Changes
- We've added a new type:
SerializeFrom. This is used to infer the (#4013) JSON-serialized return type of loaders and actions. MetaFunctiontype can now inferdataandparentsDatatypes from route loaders (#4022)
Patch Changes
- Updated dependencies:
@remix-run/express@1.7.0
1.6.8
Patch Changes
- Updated dependencies:
@remix-run/express@1.6.8
1.6.7
Patch Changes
- Updated dependencies:
@remix-run/express@1.6.7
1.6.6
Patch Changes
- Updated dependencies:
@remix-run/express@1.6.6
1.6.5
Patch Changes
- Updated dependencies
@remix-run/express@1.6.5