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 contains the following updates:
1.15.0
->1.19.3
1.15.0
->1.19.3
1.15.0
->1.19.3
1.15.0
->1.19.3
1.15.0
->1.19.3
Release Notes
remix-run/remix (@remix-run/dev)
v1.19.3
Compare Source
Patch Changes
devServerBroadcastDelay
anddevServerPort
config options (#7064)@remix-run/server-runtime@1.19.3
v1.19.2
Compare Source
Patch Changes
proxy-agent
to resolve npm audit security vulnerability (#7027)@remix-run/server-runtime@1.19.2
v1.19.1
Compare Source
Patch Changes
@remix-run/server-runtime@1.19.1
v1.19.0
Compare Source
Minor Changes
improved networking options for
v2_dev
(#6724)deprecate the
--scheme
and--host
options and replace them with theREMIX_DEV_ORIGIN
environment variableOutput esbuild metafiles for bundle analysis (#6772)
Written to server build directory (
build/
by default):metafile.css.json
metafile.js.json
(browser JS)metafile.server.json
(server JS)Metafiles can be uploaded to https://esbuild.github.io/analyze/ for analysis.
Add
serverNodeBuiltinsPolyfill
config option. Inremix.config.js
you can now disable polyfills of Node.js built-in modules for non-Node.js server platforms, or opt into a subset of polyfills. (#6814, #6859, #6877)Patch Changes
ignore missing react-dom/client for react 17 (#6725)
Warn if not using
v2_dev
(#6818)Also, rename
--no-restart
to--manual
to match intention and documentation.--no-restart
remains an alias for--manual
in v1 for backwards compatibility.ignore errors when killing already dead processes (#6773)
Always rewrite css-derived assets during builds (#6837)
fix sourcemaps for
v2_dev
(#6762)Do not clear screen when dev server starts (#6719)
On some terminal emulators, "clearing" only scrolls the next line to the
top. on others, it erases the scrollback.
Instead, let users call
clear
themselves (clear && remix dev
) ifthey want to clear.
Updated dependencies:
@remix-run/server-runtime@1.19.0
v1.18.1
Compare Source
Patch Changes
react-dom/client
for React 17 (#6725)@remix-run/server-runtime@1.18.1
v1.18.0
Compare Source
Minor Changes
remix build
andremix dev
(#6596)Patch Changes
remix dev -c
: kill all descendant processes of specified command when restarting (#6663)Architect (AWS Lambda)
->Architect
in thecreate-remix
CLI to avoid confusion for other methods of deploying to AWS (i.e., SST) (#6484)esbuild-plugins-node-modules-polyfill
to 1.0.16 to ensure that the plugin is cached (#6652)@remix-run/server-runtime@1.18.0
v1.17.1
Compare Source
Patch Changes
esbuild-plugin-polyfill-node
withesbuild-plugins-node-modules-polyfill
(#6562)@remix-run/css-bundle
is detected (#6535)@remix-run/server-runtime@1.17.1
v1.17.0
Compare Source
Minor Changes
built-in tls support (#6483)
New options:
--tls-key
/tlsKey
: TLS key--tls-cert
/tlsCert
: TLS CertificateIf both TLS options are set,
scheme
defaults tohttps
v1.16.1
Compare Source
Patch Changes
loader
change detection for HDR (#6299)PATH
envvar so that it works cross-platform (e.g. Windows) (#6310).css.ts
/.css.js
files with Vanilla Extract if@vanilla-extract/css
is installed (#6345)tsconfig.json
when running usinggetConfig
(remix dev
,remix routes
,remix build
, etc) (#6156)@remix-run/server-runtime@1.16.1
v1.16.0
Compare Source
Minor Changes
Enable support for CSS Modules, Vanilla Extract and CSS side-effect imports (#6046)
These CSS bundling features were previously only available via
future.unstable_cssModules
,future.unstable_vanillaExtract
andfuture.unstable_cssSideEffectImports
options inremix.config.js
, but they have now been stabilized.In order to use these features, check out our guide to CSS bundling in your project.
Stabilize built-in PostCSS support via the new
postcss
option inremix.config.js
. As a result, thefuture.unstable_postcss
option has also been deprecated. (#5960)The
postcss
option isfalse
by default, but when set totrue
will enable processing of all CSS files using PostCSS ifpostcss.config.js
is present.If you followed the original PostCSS setup guide for Remix, you may have a folder structure that looks like this, separating your source files from its processed output:
After you've enabled the new
postcss
option, you can delete the processed files fromapp/styles
folder and move your source files fromstyles
toapp/styles
:You should then remove
app/styles
from your.gitignore
file since it now contains source files rather than processed output.You can then update your
package.json
scripts to remove any usage ofpostcss
since Remix handles this automatically. For example, if you had followed the original setup guide:Stabilize built-in Tailwind support via the new
tailwind
option inremix.config.js
. As a result, thefuture.unstable_tailwind
option has also been deprecated. (#5960)The
tailwind
option isfalse
by default, but when set totrue
will enable built-in support for Tailwind functions and directives in your CSS files iftailwindcss
is installed.If you followed the original Tailwind setup guide for Remix and want to make use of this feature, you should first delete the generated
app/tailwind.css
.Then, if you have a
styles/tailwind.css
file, you should move it toapp/tailwind.css
.Otherwise, if you don't already have an
app/tailwind.css
file, you should create one with the following contents:You should then remove
/app/tailwind.css
from your.gitignore
file since it now contains source code rather than processed output.You can then update your
package.json
scripts to remove any usage oftailwindcss
since Remix handles this automatically. For example, if you had followed the original setup guide:The Remix dev server spins up your app server as a managed subprocess. (#6133)
This keeps your development environment as close to production as possible.
It also means that the Remix dev server is compatible with any app server.
By default, the dev server will use the Remix App Server, but you opt to use your own app server by specifying the command to run it via the
-c
/--command
flag:The dev server will:
NODE_ENV=development
and warn you if it was previously set to something elseApp server coordination
In order to manage your app server, the dev server needs to be told what server build is currently being used by your app server.
This works by having the app server send a "I'm ready!" message with the Remix server build hash as the payload.
This is handled automatically in Remix App Server and is set up for you via calls to
broadcastDevReady
orlogDevReady
in the official Remix templates.If you are not using Remix App Server and your server doesn't call
broadcastDevReady
, you'll need to call it in your app server after it is up and running.For example, in an Express server:
Options
Options priority order is: 1. flags, 2. config, 3. defaults.
-c
/--command
command
remix-serve <server build path>
--http-scheme
httpScheme
http
--http-host
httpHost
localhost
--http-port
httpPort
--websocket-port
websocketPort
--no-restart
restart: false
restart: true
🚨 The
--http-*
flags are only used for internal dev server <-> app server communication.Your app will run on your app server's normal URL.
To set
unstable_dev
configuration, replaceunstable_dev: true
withunstable_dev: { <options> }
.For example, to set the HTTP(S) port statically:
SSL and custom hosts
You should only need to use the
--http-*
flags and--websocket-port
flag if you need fine-grain control of what scheme/host/port for the dev server.If you are setting up SSL or Docker networking, these are the flags you'll want to use.
🚨 Remix will not set up SSL and custom host for you.
The
--http-scheme
and--http-host
flag are for you to tell Remix how you've set things up.It is your task to set up SSL certificates and host files if you want those features.
--no-restart
andrequire
cache purgingIf you want to manage server changes yourself, you can use the
--no-restart
flag to tell the dev server to refrain from restarting your app server when builds succeed:remix dev -c "node ./server.js" --no-restart
For example, you could purge the
require
cache of your app server to keep it running while picking up server changes.If you do so, you should watch the server build path (
build/
by default) for changes and only purge therequire
cache when changes are detected.🚨 If you use
--no-restart
, it is your responsibility to callbroadcastDevReady
when your app server has picked up server changes.For example, with
chokidar
:Patch Changes
url()
rules when using CSS Modules, Vanilla Extract and CSS side-effect imports (#5788)devDependencies
when running remix dev (#6228)serverModuleFormat
default change (#6154)bareImports
plugin. (#6181)logDevReady
as replacement for platforms that can't initialize async I/O outside of the request response lifecycle. (#6204)@remix-run/server-runtime@1.16.0
remix-run/remix (@remix-run/node)
v1.19.3
Compare Source
Patch Changes
@remix-run/server-runtime@1.19.3
v1.19.2
Compare Source
Patch Changes
@remix-run/web-*
packages (#7026)@remix-run/server-runtime@1.19.2
v1.19.1
Compare Source
Patch Changes
@remix-run/server-runtime@1.19.1
v1.19.0
Compare Source
Patch Changes
@remix-run/web-fetch@4.3.5
. Submitted empty file inputs are now correctly parsed out as emptyFile
instances instead of being surfaced as an empty string viarequest.formData()
(#6816)@remix-run/server-runtime@1.19.0
v1.18.1
Compare Source
Patch Changes
@remix-run/server-runtime@1.18.1
v1.18.0
Compare Source
Patch Changes
@remix-run/server-runtime@1.18.0
v1.17.1
Compare Source
Patch Changes
@remix-run/server-runtime@1.17.1
v1.17.0
Compare Source
Patch Changes
Add
HeadersArgs
type to be consistent with loaders/actions/meta and allows for using afunction
declaration in addition to an arrow function expression (#6247)Fix
request.clone() instanceof Request
returning false. (#6512)Updated dependencies:
@remix-run/server-runtime@1.17.0
v1.16.1
Compare Source
Patch Changes
@remix-run/server-runtime@1.16.1
v1.16.0
Compare Source
Patch Changes
@remix-run/node/install
side-effect to allownode --require @​remix-run/node/install
(#6132)logDevReady
as replacement for platforms that can't initialize async I/O outside of the request response lifecycle. (#6204)@remix-run/server-runtime@1.16.0
remix-run/remix (@remix-run/react)
v1.19.3
Compare Source
No significant changes to this package were made in this release. See the releases page on GitHub for an overview of all changes in v1.19.3.
v1.19.2
Compare Source
No significant changes to this package were made in this release. See the releases page on GitHub for an overview of all changes in v1.19.2.
v1.19.1
Compare Source
No significant changes to this package were made in this release. See the releases page on GitHub for an overview of all changes in v1.19.1.
v1.19.0
Compare Source
Minor Changes
improved networking options for
v2_dev
(#6724)deprecate the
--scheme
and--host
options and replace them with theREMIX_DEV_ORIGIN
environment variableAdded some missing react-router exports to
@remix-run/react
(#6856)Patch Changes
fetcher.formEncType
to useFormEncType
fromreact-router-dom
instead ofstring
(#6810)?_data
HTTP/Network errors that don't reach the Remix server and ensure they bubble to theErrorBoundary
(#6783)Error
subclasses such asReferenceError
/TypeError
in development mode (#6675)useRouteLoaderData()
(#5157)react-router-dom@6.14.2
@remix-run/router@1.7.2
v1.18.1
Compare Source
Patch Changes
react-router-dom@6.14.1
@remix-run/router@1.7.1
v1.18.0
Compare Source
Minor Changes
application/json
andtext/plain
submission encodings inuseSubmit
/fetcher.submit
(#6570)<Link prefetch="viewport">
to prefetch links when they enter the viewport via an Intersection Observer (#6433)Patch Changes
v1.17.1
Compare Source
Patch Changes
react-router-dom@6.13.0
v1.17.0
Compare Source
Minor Changes
Faster server export removal for routes when
unstable_dev
is enabled. (#6455)Also, only render modulepreloads on SSR.
Do not render modulepreloads when hydrated.
Force Typescript to simplify type produced by
Serialize
. (#6449)As a result, the following types and functions have simplified return types:
Reuse dev server port for WebSocket (Live Reload,HMR,HDR) (#6476)
As a result the
webSocketPort
/--websocket-port
option has been obsoleted.Additionally, scheme/host/port options for the dev server have been renamed.
Available options are:
-c
/--command
command
remix-serve <server build path>
--scheme
scheme
http
--host
host
localhost
--port
port
--no-restart
restart: false
restart: true
Note that scheme/host/port options are for the dev server, not your app server.
You probably don't need to use scheme/host/port option if you aren't configuring networking (e.g. for Docker or SSL).
Patch Changes
react-router-dom@6.12.0
@remix-run/router@1.6.3
v1.16.1
Compare Source
Patch Changes
loader
change detection for HDR (#6299)loader
revalidation on UI only changes (#6278)useMatch
re-export fromreact-router-dom
(#5257)data
parameter typing onV2_MetaFunction
to includeundefined
for scenarios in which theloader
threw to it's own boundary. (#6231)react-router-dom@6.11.2
@remix-run/router@1.6.2
v1.16.0
Compare Source
Minor Changes
Enable support for CSS Modules, Vanilla Extract and CSS side-effect imports (#6046)
These CSS bundling features were previously only available via
future.unstable_cssModules
,future.unstable_vanillaExtract
andfuture.unstable_cssSideEffectImports
options inremix.config.js
, but they have now been stabilized.In order to use these features, check out our guide to CSS bundling in your project.
Stabilize built-in PostCSS support via the new
postcss
option inremix.config.js
. As a result, thefuture.unstable_postcss
option has also been deprecated. (#5960)The
postcss
option isfalse
by default, but when set totrue
will enable processing of all CSS files using PostCSS ifpostcss.config.js
is present.If you followed the original PostCSS setup guide for Remix, you may have a folder structure that looks like this, separating your source files from its processed output:
After you've enabled the new
postcss
option, you can delete the processed files fromapp/styles
folder and move your source files fromstyles
toapp/styles
:You should then remove
app/styles
from your.gitignore
file since it now contains source files rather than processed output.You can then update your
package.json
scripts to remove any usage ofpostcss
since Remix handles this automatically. For example, if you had followed the original setup guide:Stabilize built-in Tailwind support via the new
tailwind
option inremix.config.js
. As a result, thefuture.unstable_tailwind
option has also been deprecated. (#5960)The
tailwind
option isfalse
by default, but when set totrue
will enable built-in support for Tailwind functions and directives in your CSS files iftailwindcss
is installed.If you followed the original Tailwind setup guide for Remix and want to make use of this feature, you should first delete the generated
app/tailwind.css
.Then, if you have a
styles/tailwind.css
file, you should move it toapp/tailwind.css
.Otherwise, if you don't already have an
app/tailwind.css
file, you should create one with the following contents:You should then remove
/app/tailwind.css
from your.gitignore
file since it now contains source code rather than processed output.You can then update your
package.json
scripts to remove any usage oftailwindcss
since Remix handles this automatically. For example, if you had followed the original setup guide:Patch Changes
useSyncExternalStore
(#6121)react-router-dom@6.11.0
@remix-run/router@1.6.0
remix-run/remix (@remix-run/serve)
v1.19.3
Compare Source
Patch Changes
@remix-run/express@1.19.3
@remix-run/node@1.19.3
v1.19.2
Compare Source
Patch Changes
source-map-support
(#7039)@remix-run/node@1.19.2
@remix-run/express@1.19.2
v1.19.1
Compare Source
Patch Changes
@remix-run/express@1.19.1
@remix-run/node@1.19.1
v1.19.0
Compare Source
Patch Changes
@remix-run/node@1.19.0
@remix-run/express@1.19.0
v1.18.1
Compare Source
Patch Changes
@remix-run/node@1.18.1
@remix-run/express@1.18.1
v1.18.0
Compare Source
Minor Changes
Patch Changes
@remix-run/node@1.18.0
@remix-run/express@1.18.0
v1.17.1
Compare Source
Patch Changes
@remix-run/express@1.17.1
@remix-run/node@1.17.1
v1.17.0
Compare Source
Patch Changes
Add
HeadersArgs
type to be consistent with loaders/actions/meta and allows for using afunction
declaration in addition to an arrow function expression (#6247)Updated dependencies:
@remix-run/node@1.17.0
@remix-run/express@1.17.0
v1.16.1
Compare Source
Patch Changes
@remix-run/node@1.16.1
@remix-run/express@1.16.1
v1.16.0
Compare Source
Patch Changes
@remix-run/node/install
side-effect to allownode --require @​remix-run/node/install
(#6132)@remix-run/express@1.16.0
@remix-run/node@1.16.0
remix-run/remix (@remix-run/server-runtime)
v1.19.3
Compare Source
No significant changes to this package were made in this release. See the releases page on GitHub for an overview of all changes in v1.19.3.
v1.19.2
Compare Source
Patch Changes
@remix-run/web-*
packages (#7026)v1.19.1
Compare Source
No significant changes to this package were made in this release. See the releases page on GitHub for an overview of all changes in v1.19.1.
v1.19.0
Compare Source
Minor Changes
improved networking options for
v2_dev
(#6724)deprecate the
--scheme
and--host
options and replace them with theREMIX_DEV_ORIGIN
environment variablePatch Changes
?_data
HTTP/Network errors that don't reach the Remix server and ensure they bubble to theErrorBoundary
(#6783)Error
subclasses such asReferenceError
/TypeError
in development mode (#6675)?_data
request that doesn't match routes (#6820)@remix-run/router@1.7.2
v1.18.1
Compare Source
Patch Changes
useLoaderData
,useActionData
, etc...@remix-run/router@1.7.1
v1.18.0
Compare Source
Minor Changes
Patch Changes
@remix/server-runtime
including@types/react
as adevDependency
when it doesn't actually do anything React-specific and was just re-exportingComponentType
in values such asCatchBoundaryComponent
/ErrorBoundaryComponent
/V2_ErrorBoundaryComponent
. These types are more correctly exported from@remix-run/react
which is React-aware so that is the correct place to be importing those types from. In order to avoid breaking existing builds, the types in@remix/server-runtime
have been loosened toany
and@deprecated
warnings have been added informing users to switch to the corresponding types in@remix-run/react
. (#5713)@types/cookie
todependencies
since we re-export types from there (#5713)v1.17.1
Compare Source
No significant changes to this package were made in this release. See the releases page on GitHub for an overview of all changes in v1.17.1.
v1.17.0
Compare Source
Minor Changes
Add
errorHeaders
parameter to the leafheaders()
function to expose headers from thrown responses that bubble up to ancestor route boundaries. If the throwing route contains the boundary, thenerrorHeaders
will be the same object asloaderHeaders
/actionHeaders
for that route. (#6425, #6475)Add optional
handleError
export for custom server-side error processing. This is a new optional export from yourentry.server.tsx
that will be called with any encountered error on the Remix server (loader, action, or render error) (#6495, #6524):Force Typescript to simplify type produced by
Serialize
. (#6449)As a result, the following types and functions have simplified return types:
Added a new
future.v2_headers
future flag to opt into automatic inheriting of ancestor routeheaders
functions so you do not need to export aheaders
function from every possible leaf route if you don't wish to. (#6431)Reuse dev server port for WebSocket (Live Reload,HMR,HDR) (#6476)
As a result the `webSocketPor
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate. View repository job log here.