Skip to content

Commit

Permalink
fix(deps): update remix monorepo to v1.19.3 (#347)
Browse files Browse the repository at this point in the history
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@remix-run/dev](https://remix.run)
([source](https://redirect.github.com/remix-run/remix/tree/HEAD/packages/remix-dev))
| [`1.15.0` ->
`1.19.3`](https://renovatebot.com/diffs/npm/@remix-run%2fdev/1.15.0/1.19.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fdev/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fdev/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fdev/1.15.0/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fdev/1.15.0/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@remix-run/eslint-config](https://redirect.github.com/remix-run/remix)
([source](https://redirect.github.com/remix-run/remix/tree/HEAD/packages/remix-eslint-config))
| [`1.15.0` ->
`1.19.3`](https://renovatebot.com/diffs/npm/@remix-run%2feslint-config/1.15.0/1.19.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2feslint-config/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2feslint-config/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2feslint-config/1.15.0/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2feslint-config/1.15.0/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@remix-run/netlify](https://redirect.github.com/remix-run/remix)
([source](https://redirect.github.com/remix-run/remix/tree/HEAD/packages/remix-netlify))
| [`1.15.0` ->
`1.19.3`](https://renovatebot.com/diffs/npm/@remix-run%2fnetlify/1.15.0/1.19.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fnetlify/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fnetlify/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fnetlify/1.15.0/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fnetlify/1.15.0/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@remix-run/node](https://redirect.github.com/remix-run/remix)
([source](https://redirect.github.com/remix-run/remix/tree/HEAD/packages/remix-node))
| [`1.15.0` ->
`1.19.3`](https://renovatebot.com/diffs/npm/@remix-run%2fnode/1.15.0/1.19.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fnode/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fnode/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fnode/1.15.0/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fnode/1.15.0/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@remix-run/react](https://redirect.github.com/remix-run/remix)
([source](https://redirect.github.com/remix-run/remix/tree/HEAD/packages/remix-react))
| [`1.15.0` ->
`1.19.3`](https://renovatebot.com/diffs/npm/@remix-run%2freact/1.15.0/1.19.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2freact/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2freact/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2freact/1.15.0/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2freact/1.15.0/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@remix-run/serve](https://redirect.github.com/remix-run/remix)
([source](https://redirect.github.com/remix-run/remix/tree/HEAD/packages/remix-serve))
| [`1.15.0` ->
`1.19.3`](https://renovatebot.com/diffs/npm/@remix-run%2fserve/1.15.0/1.19.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fserve/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fserve/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fserve/1.15.0/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fserve/1.15.0/1.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>remix-run/remix (@&#8203;remix-run/dev)</summary>

###
[`v1.19.3`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#1193)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

- Show deprecation warning when using `devServerBroadcastDelay` and
`devServerPort` config options
([#&#8203;7064](https://redirect.github.com/remix-run/remix/pull/7064))
-   Updated dependencies:
    -   `@remix-run/[email protected]`

###
[`v1.19.2`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#1192)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

- Update `proxy-agent` to resolve npm audit security vulnerability
([#&#8203;7027](https://redirect.github.com/remix-run/remix/pull/7027))
-   Updated dependencies:
    -   `@remix-run/[email protected]`

###
[`v1.19.1`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#1191)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

- Add a heartbeat ping to prevent the WebSocket connection from being
closed due to inactivity when using a proxy like Cloudflare
([#&#8203;6904](https://redirect.github.com/remix-run/remix/pull/6904),
[#&#8203;6927](https://redirect.github.com/remix-run/remix/pull/6927))
- Treeshake out HMR code from production builds
([#&#8203;6894](https://redirect.github.com/remix-run/remix/pull/6894))
-   Updated dependencies:
    -   `@remix-run/[email protected]`

###
[`v1.19.0`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#1190)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Minor Changes

- improved networking options for `v2_dev`
([#&#8203;6724](https://redirect.github.com/remix-run/remix/pull/6724))

deprecate the `--scheme` and `--host` options and replace them with the
`REMIX_DEV_ORIGIN` environment variable

- Output esbuild metafiles for bundle analysis
([#&#8203;6772](https://redirect.github.com/remix-run/remix/pull/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. In `remix.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.
([#&#8203;6814](https://redirect.github.com/remix-run/remix/pull/6814),
[#&#8203;6859](https://redirect.github.com/remix-run/remix/pull/6859),
[#&#8203;6877](https://redirect.github.com/remix-run/remix/pull/6877))

    ```js
    // Disable all polyfills
    exports.serverNodeBuiltinsPolyfill = { modules: {} };

    // Enable specific polyfills
    exports.serverNodeBuiltinsPolyfill = {
      modules: {
        crypto: true, // Provide a JSPM polyfill
        fs: "empty", // Provide an empty polyfill
      },
    };
    ```

##### Patch Changes

- ignore missing react-dom/client for react 17
([#&#8203;6725](https://redirect.github.com/remix-run/remix/pull/6725))

- Warn if not using `v2_dev`
([#&#8203;6818](https://redirect.github.com/remix-run/remix/pull/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
([#&#8203;6773](https://redirect.github.com/remix-run/remix/pull/6773))

- Always rewrite css-derived assets during builds
([#&#8203;6837](https://redirect.github.com/remix-run/remix/pull/6837))

- fix sourcemaps for `v2_dev`
([#&#8203;6762](https://redirect.github.com/remix-run/remix/pull/6762))

- Do not clear screen when dev server starts
([#&#8203;6719](https://redirect.github.com/remix-run/remix/pull/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`) if
    they want to clear.

-   Updated dependencies:
    -   `@remix-run/[email protected]`

###
[`v1.18.1`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#1181)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

- Ignore missing `react-dom/client` for React 17
([#&#8203;6725](https://redirect.github.com/remix-run/remix/pull/6725))
-   Updated dependencies:
    -   `@remix-run/[email protected]`

###
[`v1.18.0`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#1180)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Minor Changes

- stabilize v2 dev server
([#&#8203;6615](https://redirect.github.com/remix-run/remix/pull/6615))
- improved logging for `remix build` and `remix dev`
([#&#8203;6596](https://redirect.github.com/remix-run/remix/pull/6596))

##### Patch Changes

- fix docs links for msw and mkcert
([#&#8203;6672](https://redirect.github.com/remix-run/remix/pull/6672))
- fix `remix dev -c`: kill all descendant processes of specified command
when restarting
([#&#8203;6663](https://redirect.github.com/remix-run/remix/pull/6663))
- Add caching to regular stylesheet compilation
([#&#8203;6638](https://redirect.github.com/remix-run/remix/pull/6638))
- Rename `Architect (AWS Lambda)` -> `Architect` in the `create-remix`
CLI to avoid confusion for other methods of deploying to AWS (i.e., SST)
([#&#8203;6484](https://redirect.github.com/remix-run/remix/pull/6484))
- Improve CSS bundle build performance by skipping unused Node polyfills
([#&#8203;6639](https://redirect.github.com/remix-run/remix/pull/6639))
- Improve performance of CSS bundle build by skipping compilation of
Remix/React packages that are known not to contain CSS imports
([#&#8203;6654](https://redirect.github.com/remix-run/remix/pull/6654))
- Cache CSS side-effect imports transform when using HMR
([#&#8203;6622](https://redirect.github.com/remix-run/remix/pull/6622))
- Fix bug with pathless layout routes beneath nested path segments
([#&#8203;6649](https://redirect.github.com/remix-run/remix/pull/6649))
- Add caching to PostCSS for CSS Modules
([#&#8203;6604](https://redirect.github.com/remix-run/remix/pull/6604))
- Add caching to PostCSS for side-effect imports
([#&#8203;6554](https://redirect.github.com/remix-run/remix/pull/6554))
- cache getRouteModuleExports calls to significantly speed up build and
HMR rebuild times
([#&#8203;6629](https://redirect.github.com/remix-run/remix/pull/6629))
- group rebuild logs with surrounding whitespace
([#&#8203;6607](https://redirect.github.com/remix-run/remix/pull/6607))
- instructions for integrating with msw
([#&#8203;6669](https://redirect.github.com/remix-run/remix/pull/6669))
- Update minimum version of `esbuild-plugins-node-modules-polyfill` to
1.0.16 to ensure that the plugin is cached
([#&#8203;6652](https://redirect.github.com/remix-run/remix/pull/6652))
-   Updated dependencies:
    -   `@remix-run/[email protected]`

###
[`v1.17.1`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#1171)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

- Replace `esbuild-plugin-polyfill-node` with
`esbuild-plugins-node-modules-polyfill`
([#&#8203;6562](https://redirect.github.com/remix-run/remix/pull/6562))
- Lazily generate CSS bundle when import of `@remix-run/css-bundle` is
detected
([#&#8203;6535](https://redirect.github.com/remix-run/remix/pull/6535))
-   Updated dependencies:
    -   `@remix-run/[email protected]`

###
[`v1.17.0`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#1170)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Minor Changes

- built-in tls support
([#&#8203;6483](https://redirect.github.com/remix-run/remix/pull/6483))

    New options:

    -   `--tls-key` / `tlsKey`: TLS key
    -   `--tls-cert` / `tlsCert`: TLS Certificate

    If both TLS options are set, `scheme` defaults to `https`

###
[`v1.16.1`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#1161)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

- Cross-module `loader` change detection for HDR
([#&#8203;6299](https://redirect.github.com/remix-run/remix/pull/6299))
- Normalize path for dev server `PATH` envvar so that it works
cross-platform (e.g. Windows)
([#&#8203;6310](https://redirect.github.com/remix-run/remix/pull/6310))
- Fix CSS imports in JS files that use JSX
([#&#8203;6309](https://redirect.github.com/remix-run/remix/pull/6309))
- Kill app server when dev server exits
([#&#8203;6395](https://redirect.github.com/remix-run/remix/pull/6395))
- Wait until app server is killed before starting a new app server
([#&#8203;6289](https://redirect.github.com/remix-run/remix/pull/6289))
- Ensure CSS bundle changes result in a new manifest hash
([#&#8203;6374](https://redirect.github.com/remix-run/remix/pull/6374))
- Normalize file paths before testing if a changed file is a route entry
([#&#8203;6293](https://redirect.github.com/remix-run/remix/pull/6293))
- Fix race where app server responds with updated manifest version
*before* dev server is listening for it
([#&#8203;6294](https://redirect.github.com/remix-run/remix/pull/6294))
- dev server now listens for updated versions *before* writing the
server changes, guaranteeing that it is listening before the app server
gets a chance to send its 'ready' message
- Only process `.css.ts`/`.css.js` files with Vanilla Extract if
`@vanilla-extract/css` is installed
([#&#8203;6345](https://redirect.github.com/remix-run/remix/pull/6345))
- Stop modifying a user's `tsconfig.json` when running using `getConfig`
(`remix dev`, `remix routes`, `remix build`, etc)
([#&#8203;6156](https://redirect.github.com/remix-run/remix/pull/6156))
- Cancel previous build when rebuild is kicked off to prevent rebuilds
from hanging
([#&#8203;6295](https://redirect.github.com/remix-run/remix/pull/6295))
- Update minimum version of Babel dependencies to avoid errors parsing
decorators
([#&#8203;6390](https://redirect.github.com/remix-run/remix/pull/6390))
- Support asset imports when detecting loader changes for HDR
([#&#8203;6396](https://redirect.github.com/remix-run/remix/pull/6396))
-   Updated dependencies:
    -   `@remix-run/[email protected]`

###
[`v1.16.0`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#1160)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Minor Changes

- Enable support for [CSS
Modules](https://redirect.github.com/css-modules/css-modules), [Vanilla
Extract](http://vanilla-extract.style) and CSS side-effect imports
([#&#8203;6046](https://redirect.github.com/remix-run/remix/pull/6046))

These CSS bundling features were previously only available via
`future.unstable_cssModules`, `future.unstable_vanillaExtract` and
`future.unstable_cssSideEffectImports` options in `remix.config.js`, but
they have now been stabilized.

In order to use these features, check out our guide to [CSS
bundling](https://remix.run/docs/en/1.16.0/guides/styling#css-bundling)
in your project.

- Stabilize built-in PostCSS support via the new `postcss` option in
`remix.config.js`. As a result, the `future.unstable_postcss` option has
also been deprecated.
([#&#8203;5960](https://redirect.github.com/remix-run/remix/pull/5960))

The `postcss` option is `false` by default, but when set to `true` will
enable processing of all CSS files using PostCSS if `postcss.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:

        .
        ├── app
        │   └── styles (processed files)
        │       ├── app.css
        │       └── routes
        │           └── index.css
        └── styles (source files)
            ├── app.css
            └── routes
                └── index.css

After you've enabled the new `postcss` option, you can delete the
processed files from `app/styles` folder and move your source files from
`styles` to `app/styles`:

        .
        ├── app
        │   └── styles (source files)
        │       ├── app.css
        │       └── routes
        │           └── index.css

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 of
`postcss` since Remix handles this automatically. For example, if you
had followed the original setup guide:

    ```diff
    {
      "scripts": {
    -    "dev:css": "postcss styles --base styles --dir app/styles -w",
- "build:css": "postcss styles --base styles --dir app/styles --env
production",
    -    "dev": "concurrently \"npm run dev:css\" \"remix dev\""
    +    "dev": "remix dev"
      }
    }
    ```

- Stabilize built-in Tailwind support via the new `tailwind` option in
`remix.config.js`. As a result, the `future.unstable_tailwind` option
has also been deprecated.
([#&#8203;5960](https://redirect.github.com/remix-run/remix/pull/5960))

The `tailwind` option is `false` by default, but when set to `true` will
enable built-in support for Tailwind functions and directives in your
CSS files if `tailwindcss` 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 to
`app/tailwind.css`.

    ```sh
    rm app/tailwind.css
    mv styles/tailwind.css app/tailwind.css
    ```

Otherwise, if you don't already have an `app/tailwind.css` file, you
should create one with the following contents:

    ```css
    @&#8203;tailwind base;
    @&#8203;tailwind components;
    @&#8203;tailwind utilities;
    ```

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 of
`tailwindcss` since Remix handles this automatically. For example, if
you had followed the original setup guide:

    ```diff
    {
      // ...
      "scripts": {
    -    "build": "run-s \"build:*\"",
    +    "build": "remix build",
    -    "build:css": "npm run generate:css -- --minify",
    -    "build:remix": "remix build",
    -    "dev": "run-p \"dev:*\"",
    +    "dev": "remix dev",
    -    "dev:css": "npm run generate:css -- --watch",
    -    "dev:remix": "remix dev",
    -    "generate:css": "npx tailwindcss -o ./app/tailwind.css",
        "start": "remix-serve build"
      }
      // ...
    }
    ```

- The Remix dev server spins up your app server as a managed subprocess.
([#&#8203;6133](https://redirect.github.com/remix-run/remix/pull/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:

    ```sh
    remix dev # uses `remix-serve <serve build path>` as the app server
remix dev -c "node ./server.js" # uses your custom app server at
`./server.js`
    ```

    The dev server will:

- force `NODE_ENV=development` and warn you if it was previously set to
something else
    -   rebuild your app whenever your Remix app code changes
    -   restart your app server whenever rebuilds succeed
    -   handle live reload and HMR + Hot Data Revalidation

##### App 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` or `logDevReady` 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:

```js
// server.js
// <other imports>
import { broadcastDevReady } from "@&#8203;remix-run/node";

// Path to Remix's server build directory ('build/' by default)
const BUILD_DIR = path.join(process.cwd(), "build");

// <code setting up your express server>

app.listen(3000, () => {
  const build = require(BUILD_DIR);
  console.log("Ready: http://localhost:" + port);

  // in development, call `broadcastDevReady` _after_ your server is up and running
  if (process.env.NODE_ENV === "development") {
    broadcastDevReady(build);
  }
});
```

##### Options

Options priority order is: 1. flags, 2. config, 3. defaults.

| Option | flag | config | default |
| -------------- | ------------------ | ---------------- |
--------------------------------- |
| Command | `-c` / `--command` | `command` | `remix-serve <server build
path>` |
| HTTP(S) scheme | `--http-scheme` | `httpScheme` | `http` |
| HTTP(S) host | `--http-host` | `httpHost` | `localhost` |
| HTTP(S) port | `--http-port` | `httpPort` | Dynamically chosen open
port |
| Websocket port | `--websocket-port` | `websocketPort` | Dynamically
chosen open port |
| No restart | `--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, replace `unstable_dev: true` with
`unstable_dev: { <options> }`.
For example, to set the HTTP(S) port statically:

```js
// remix.config.js
module.exports = {
  future: {
    unstable_dev: {
      httpPort: 8001,
    },
  },
};
```

##### 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` and `require` cache purging

If 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:

```sh
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 the `require` cache when changes are
detected.

🚨 If you use `--no-restart`, it is your responsibility to call
`broadcastDevReady` when your app server has picked up server changes.
For example, with `chokidar`:

```js
// server.dev.js
const BUILD_PATH = path.resolve(__dirname, "build");

const watcher = chokidar.watch(BUILD_PATH);

watcher.on("change", () => {
  // 1. purge require cache
  purgeRequireCache();
  // 2. load updated server build
  const build = require(BUILD_PATH);
  // 3. tell dev server that this app server is now ready
  broadcastDevReady(build);
});
```

##### Patch Changes

- Fix absolute paths in CSS `url()` rules when using CSS Modules,
Vanilla Extract and CSS side-effect imports
([#&#8203;5788](https://redirect.github.com/remix-run/remix/pull/5788))
- look for
[@&#8203;remix-run/serve](https://redirect.github.com/remix-run/serve)
in `devDependencies` when running remix dev
([#&#8203;6228](https://redirect.github.com/remix-run/remix/pull/6228))
- add warning for v2 "cjs"->"esm" `serverModuleFormat` default change
([#&#8203;6154](https://redirect.github.com/remix-run/remix/pull/6154))
- write mjs server output files
([#&#8203;6225](https://redirect.github.com/remix-run/remix/pull/6225))
- fix(react,dev): dev chunking and refresh race condition
([#&#8203;6201](https://redirect.github.com/remix-run/remix/pull/6201))
- Use correct require context in `bareImports` plugin.
([#&#8203;6181](https://redirect.github.com/remix-run/remix/pull/6181))
- use minimatch for regex instead of glob-to-regexp
([#&#8203;6017](https://redirect.github.com/remix-run/remix/pull/6017))
- add `logDevReady` as replacement for platforms that can't initialize
async I/O outside of the request response lifecycle.
([#&#8203;6204](https://redirect.github.com/remix-run/remix/pull/6204))
- Use the "automatic" JSX runtime when processing MDX files.
([#&#8203;6098](https://redirect.github.com/remix-run/remix/pull/6098))
- forcibly kill app server during dev
([#&#8203;6197](https://redirect.github.com/remix-run/remix/pull/6197))
- show first compilation error instead of cancelation errors
([#&#8203;6202](https://redirect.github.com/remix-run/remix/pull/6202))
- Resolve imports from route modules across the graph back to the
virtual module created by the v2 routes plugin. This fixes issues where
we would duplicate portions of route modules that were imported.
([#&#8203;6098](https://redirect.github.com/remix-run/remix/pull/6098))
-   Updated dependencies:
    -   `@remix-run/[email protected]`

</details>

<details>
<summary>remix-run/remix (@&#8203;remix-run/eslint-config)</summary>

###
[`v1.19.3`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-eslint-config/CHANGELOG.md#1193)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

No significant changes to this package were made in this release. [See
the releases page on
GitHub](https://redirect.github.com/remix-run/remix/releases/tag/remix%401.19.3)
for an overview of all changes in v1.19.3.

###
[`v1.19.2`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-eslint-config/CHANGELOG.md#1192)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

No significant changes to this package were made in this release. [See
the releases page on
GitHub](https://redirect.github.com/remix-run/remix/releases/tag/remix%401.19.2)
for an overview of all changes in v1.19.2.

###
[`v1.19.1`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-eslint-config/CHANGELOG.md#1191)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

No significant changes to this package were made in this release. [See
the releases page on
GitHub](https://redirect.github.com/remix-run/remix/releases/tag/remix%401.19.1)
for an overview of all changes in v1.19.1.

###
[`v1.19.0`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-eslint-config/CHANGELOG.md#1190)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

No significant changes to this package were made in this release. [See
the releases page on
GitHub](https://redirect.github.com/remix-run/remix/releases/tag/remix%401.19.0)
for an overview of all changes in v1.19.0.

###
[`v1.18.1`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-eslint-config/CHANGELOG.md#1181)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

No significant changes to this package were made in this release. [See
the releases page on
GitHub](https://redirect.github.com/remix-run/remix/releases/tag/remix%401.18.1)
for an overview of all changes in v1.18.1.

###
[`v1.18.0`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-eslint-config/CHANGELOG.md#1180)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

No significant changes to this package were made in this release. [See
the releases page on
GitHub](https://redirect.github.com/remix-run/remix/releases/tag/remix%401.18.0)
for an overview of all changes in v1.18.0.

###
[`v1.17.1`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-eslint-config/CHANGELOG.md#1171)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

No significant changes to this package were made in this release. [See
the releases page on
GitHub](https://redirect.github.com/remix-run/remix/releases/tag/remix%401.17.1)
for an overview of all changes in v1.17.1.

###
[`v1.17.0`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-eslint-config/CHANGELOG.md#1170)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

- Add `HeadersArgs` type to be consistent with loaders/actions/meta and
allows for using a `function` declaration in addition to an arrow
function expression
([#&#8203;6247](https://redirect.github.com/remix-run/remix/pull/6247))

    ```tsx
import type { HeadersArgs } from "@&#8203;remix-run/node"; // or
cloudflare/deno

    export function headers({ loaderHeaders }: HeadersArgs) {
      return {
"x-my-custom-thing": loaderHeaders.get("x-my-custom-thing") ||
"fallback",
      };
    }
    ```

###
[`v1.16.1`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-eslint-config/CHANGELOG.md#1161)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

- Don't require display name in root module
([#&#8203;5450](https://redirect.github.com/remix-run/remix/pull/5450))
- Update minimum version of Babel dependencies to avoid errors parsing
decorators
([#&#8203;6390](https://redirect.github.com/remix-run/remix/pull/6390))

###
[`v1.16.0`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-eslint-config/CHANGELOG.md#1160)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Minor Changes

- add deprecation warning to `@remix-run/eslint-config/jest` ESLint
config
([#&#8203;5697](https://redirect.github.com/remix-run/remix/pull/5697))

</details>

<details>
<summary>remix-run/remix (@&#8203;remix-run/netlify)</summary>

###
[`v1.19.3`](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

###
[`v1.19.2`](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

###
[`v1.19.1`](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

###
[`v1.19.0`](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

###
[`v1.18.1`](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

###
[`v1.18.0`](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

###
[`v1.17.1`](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

###
[`v1.17.0`](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

###
[`v1.16.1`](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

###
[`v1.16.0`](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

</details>

<details>
<summary>remix-run/remix (@&#8203;remix-run/node)</summary>

###
[`v1.19.3`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#1193)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/[email protected]`

###
[`v1.19.2`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#1192)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

- Update to latest `@remix-run/web-*` packages
([#&#8203;7026](https://redirect.github.com/remix-run/remix/pull/7026))
-   Updated dependencies:
    -   `@remix-run/[email protected]`

###
[`v1.19.1`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#1191)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/[email protected]`

###
[`v1.19.0`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#1190)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

- Upgrade to
[`@remix-run/[email protected]`](https://redirect.github.com/remix-run/web-std-io/releases/tag/%40remix-run%2Fweb-fetch%404.3.5).
Submitted empty file inputs are now correctly parsed out as empty `File`
instances instead of being surfaced as an empty string via
`request.formData()`
([#&#8203;6816](https://redirect.github.com/remix-run/remix/pull/6816))
-   Updated dependencies:
    -   `@remix-run/[email protected]`

###
[`v1.18.1`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#1181)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/[email protected]`

###
[`v1.18.0`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#1180)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/[email protected]`

###
[`v1.17.1`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#1171)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/[email protected]`

###
[`v1.17.0`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#1170)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

- Add `HeadersArgs` type to be consistent with loaders/actions/meta and
allows for using a `function` declaration in addition to an arrow
function expression
([#&#8203;6247](https://redirect.github.com/remix-run/remix/pull/6247))

    ```tsx
import type { HeadersArgs } from "@&#8203;remix-run/node"; // or
cloudflare/deno

    export function headers({ loaderHeaders }: HeadersArgs) {
      return {
"x-my-custom-thing": loaderHeaders.get("x-my-custom-thing") ||
"fallback",
      };
    }
    ```

- Fix `request.clone() instanceof Request` returning false.
([#&#8203;6512](https://redirect.github.com/remix-run/remix/pull/6512))

-   Updated dependencies:
    -   `@remix-run/[email protected]`

###
[`v1.16.1`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#1161)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/[email protected]`

###
[`v1.16.0`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#1160)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

- add `@remix-run/node/install` side-effect to allow `node --require
@&#8203;remix-run/node/install`
([#&#8203;6132](https://redirect.github.com/remix-run/remix/pull/6132))
- add `logDevReady` as replacement for platforms that can't initialize
async I/O outside of the request response lifecycle.
([#&#8203;6204](https://redirect.github.com/remix-run/remix/pull/6204))
- add missing files to published package
([#&#8203;6179](https://redirect.github.com/remix-run/remix/pull/6179))
-   Updated dependencies:
    -   `@remix-run/[email protected]`

</details>

<details>
<summary>remix-run/remix (@&#8203;remix-run/react)</summary>

###
[`v1.19.3`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#1193)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

No significant changes to this package were made in this release. [See
the releases page on
GitHub](https://redirect.github.com/remix-run/remix/releases/tag/remix%401.19.3)
for an overview of all changes in v1.19.3.

###
[`v1.19.2`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#1192)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

No significant changes to this package were made in this release. [See
the releases page on
GitHub](https://redirect.github.com/remix-run/remix/releases/tag/remix%401.19.2)
for an overview of all changes in v1.19.2.

###
[`v1.19.1`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#1191)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

No significant changes to this package were made in this release. [See
the releases page on
GitHub](https://redirect.github.com/remix-run/remix/releases/tag/remix%401.19.1)
for an overview of all changes in v1.19.1.

###
[`v1.19.0`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#1190)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Minor Changes

- improved networking options for `v2_dev`
([#&#8203;6724](https://redirect.github.com/remix-run/remix/pull/6724))

deprecate the `--scheme` and `--host` options and replace them with the
`REMIX_DEV_ORIGIN` environment variable

- Added some missing react-router exports to `@remix-run/react`
([#&#8203;6856](https://redirect.github.com/remix-run/remix/pull/6856))

##### Patch Changes

- Narrowed the type of `fetcher.formEncType` to use `FormEncType` from
`react-router-dom` instead of `string`
([#&#8203;6810](https://redirect.github.com/remix-run/remix/pull/6810))
- Deferred promises that return undefined/void now surface a
serialization error.
([#&#8203;6793](https://redirect.github.com/remix-run/remix/pull/6793))
- Properly handle `?_data` HTTP/Network errors that don't reach the
Remix server and ensure they bubble to the `ErrorBoundary`
([#&#8203;6783](https://redirect.github.com/remix-run/remix/pull/6783))
- Support proper hydration of `Error` subclasses such as
`ReferenceError`/`TypeError` in development mode
([#&#8203;6675](https://redirect.github.com/remix-run/remix/pull/6675))
- fix router race condition for hmr
([#&#8203;6767](https://redirect.github.com/remix-run/remix/pull/6767))
- Avoid re-prefetching stylesheets for active routes during a
revalidation
([#&#8203;6679](https://redirect.github.com/remix-run/remix/pull/6679))
- Add generic type for `useRouteLoaderData()`
([#&#8203;5157](https://redirect.github.com/remix-run/remix/pull/5157))
- Bump RR 6.14.2
([#&#8203;6854](https://redirect.github.com/remix-run/remix/pull/6854))
-   Updated dependencies:
-
[`[email protected]`](https://redirect.github.com/remix-run/react-router/releases/tag/react-router%406.14.2)
-
[`@remix-run/[email protected]`](https://redirect.github.com/remix-run/react-router/blob/main/packages/router/CHANGELOG.md#172)

###
[`v1.18.1`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#1181)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

- Fix reload loops in scenarios where CDNs ignore search params
([#&#8203;6707](https://redirect.github.com/remix-run/remix/pull/6707))
-   Updated dependencies:
-
[`[email protected]`](https://redirect.github.com/remix-run/react-router/releases/tag/react-router%406.14.1)
-
[`@remix-run/[email protected]`](https://redirect.github.com/remix-run/react-router/blob/main/packages/router/CHANGELOG.md#171)

###
[`v1.18.0`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#1180)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Minor Changes

- stabilize v2 dev server
([#&#8203;6615](https://redirect.github.com/remix-run/remix/pull/6615))
- Support `application/json` and `text/plain` submission encodings in
`useSubmit`/`fetcher.submit`
([#&#8203;6570](https://redirect.github.com/remix-run/remix/pull/6570))
- Add support for `<Link prefetch="viewport">` to prefetch links when
they enter the viewport via an [Intersection
Observer](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver)
([#&#8203;6433](https://redirect.github.com/remix-run/remix/pull/6433))

##### Patch Changes

- Bump router 6.14.0-pre.1
([#&#8203;6662](https://redirect.github.com/remix-run/remix/pull/6662))
- Detect mismatches between the initially loaded URL and the URL at the
time we hydrate and trigger a hard reload if they do not match. This is
an edge-case that can happen when the network is slowish and the user
clicks forward into a Remix app and then clicks forward again while the
initial JS chunks are loading.
([#&#8203;6409](https://redirect.github.com/remix-run/remix/pull/6409))
- Lock in react router 6.14.0
([#&#8203;6677](https://redirect.github.com/remix-run/remix/pull/6677))
- properly pass <Scripts /> props to inline script tags for deferred
data
([#&#8203;6389](https://redirect.github.com/remix-run/remix/pull/6389))

###
[`v1.17.1`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#1171)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

-   Updated dependencies:
-
[`[email protected]`](https://redirect.github.com/remix-run/react-router/releases/tag/react-router%406.13.0)

###
[`v1.17.0`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#1170)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Minor Changes

- Faster server export removal for routes when `unstable_dev` is
enabled.
([#&#8203;6455](https://redirect.github.com/remix-run/remix/pull/6455))

    Also, only render modulepreloads on SSR.
    Do not render modulepreloads when hydrated.

- Force Typescript to simplify type produced by `Serialize`.
([#&#8203;6449](https://redirect.github.com/remix-run/remix/pull/6449))

As a result, the following types and functions have simplified return
types:

    -   SerializeFrom
    -   useLoaderData
    -   useActionData
    -   useFetcher

    ```ts
    type Data = { hello: string; when: Date };

    // BEFORE
    type Unsimplified = SerializeFrom<Data>;
// ^? SerializeObject<UndefinedToOptional<{ hello: string; when: Date
}>>

    // AFTER
    type Simplified = SerializeFrom<Data>;
    //   ^? { hello: string; when: string }
    ```

- Reuse dev server port for WebSocket (Live Reload,HMR,HDR)
([#&#8203;6476](https://redirect.github.com/remix-run/remix/pull/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:

| Option | flag | config | default |
| ---------- | ------------------ | ---------------- |
--------------------------------- |
| Command | `-c` / `--command` | `command` | `remix-serve <server build
path>` |
| Scheme | `--scheme` | `scheme` | `http` |
| Host | `--host` | `host` | `localhost` |
| Port | `--port` | `port` | Dynamically chosen open port |
| No restart | `--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

- retry HDR revalidations in development mode to aid in 3rd party server
race conditions
([#&#8203;6287](https://redirect.github.com/remix-run/remix/pull/6287))
-   Updated dependencies:
-
[`[email protected]`](https://redirect.github.com/remix-run/react-router/releases/tag/react-router%406.12.0)
-
[`@remix-run/[email protected]`](https://redirect.github.com/remix-run/react-router/blob/main/packages/router/CHANGELOG.md#163)

###
[`v1.16.1`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#1161)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

- Cross-module `loader` change detection for HDR
([#&#8203;6299](https://redirect.github.com/remix-run/remix/pull/6299))
- Better opt-out of `loader` revalidation on UI only changes
([#&#8203;6278](https://redirect.github.com/remix-run/remix/pull/6278))
- Add `useMatch` re-export from `react-router-dom`
([#&#8203;5257](https://redirect.github.com/remix-run/remix/pull/5257))
- Fix `data` parameter typing on `V2_MetaFunction` to include
`undefined` for scenarios in which the `loader` threw to it's own
boundary.
([#&#8203;6231](https://redirect.github.com/remix-run/remix/pull/6231))
-   Updated dependencies:
-
[`[email protected]`](https://redirect.github.com/remix-run/react-router/releases/tag/react-router%406.11.2)
-
[`@remix-run/[email protected]`](https://redirect.github.com/remix-run/react-router/blob/main/packages/router/CHANGELOG.md#162)

###
[`v1.16.0`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#1160)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Minor Changes

- Enable support for [CSS
Modules](https://redirect.github.com/css-modules/css-modules), [Vanilla
Extract](http://vanilla-extract.style) and CSS side-effect imports
([#&#8203;6046](https://redirect.github.com/remix-run/remix/pull/6046))

These CSS bundling features were previously only available via
`future.unstable_cssModules`, `future.unstable_vanillaExtract` and
`future.unstable_cssSideEffectImports` options in `remix.config.js`, but
they have now been stabilized.

In order to use these features, check out our guide to [CSS
bundling](https://remix.run/docs/en/1.16.0/guides/styling#css-bundling)
in your project.

- Stabilize built-in PostCSS support via the new `postcss` option in
`remix.config.js`. As a result, the `future.unstable_postcss` option has
also been deprecated.
([#&#8203;5960](https://redirect.github.com/remix-run/remix/pull/5960))

The `postcss` option is `false` by default, but when set to `true` will
enable processing of all CSS files using PostCSS if `postcss.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:

        .
        ├── app
        │   └── styles (processed files)
        │       ├── app.css
        │       └── routes
        │           └── index.css
        └── styles (source files)
            ├── app.css
            └── routes
                └── index.css

After you've enabled the new `postcss` option, you can delete the
processed files from `app/styles` folder and move your source files from
`styles` to `app/styles`:

        .
        ├── app
        │   └── styles (source files)
        │       ├── app.css
        │       └── routes
        │           └── index.css

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 of
`postcss` since Remix handles this automatically. For example, if you
had followed the original setup guide:

    ```diff
    {
      "scripts": {
    -    "dev:css": "postcss styles --base styles --dir app/styles -w",
- "build:css": "postcss styles --base styles --dir app/styles --env
production",
    -    "dev": "concurrently \"npm run dev:css\" \"remix dev\""
    +    "dev": "remix dev"
      }
    }
    ```

- Stabilize built-in Tailwind support via the new `tailwind` option in
`remix.config.js`. As a result, the `future.unstable_tailwind` option
has also been deprecated.
([#&#8203;5960](https://redirect.github.com/remix-run/remix/pull/5960))

The `tailwind` option is `false` by default, but when set to `true` will
enable built-in support for Tailwind functions and directives in your
CSS files if `tailwindcss` 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 to
`app/tailwind.css`.

    ```sh
    rm app/tailwind.css
    mv styles/tailwind.css app/tailwind.css
    ```

Otherwise, if you don't already have an `app/tailwind.css` file, you
should create one with the following contents:

    ```css
    @&#8203;tailwind base;
    @&#8203;tailwind components;
    @&#8203;tailwind utilities;
    ```

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 of
`tailwindcss` since Remix handles this automatically. For example, if
you had followed the original setup guide:

    ```diff
    {
      // ...
      "scripts": {
    -    "build": "run-s \"build:*\"",
    +    "build": "remix build",
    -    "build:css": "npm run generate:css -- --minify",
    -    "build:remix": "remix build",
    -    "dev": "run-p \"dev:*\"",
    +    "dev": "remix dev",
    -    "dev:css": "npm run generate:css -- --watch",
    -    "dev:remix": "remix dev",
    -    "generate:css": "npx tailwindcss -o ./app/tailwind.css",
        "start": "remix-serve build"
      }
      // ...
    }
    ```

##### Patch Changes

- fix(react,dev): dev chunking and refresh race condition
([#&#8203;6201](https://redirect.github.com/remix-run/remix/pull/6201))
- Revalidate loaders only when a change to one is detected.
([#&#8203;6135](https://redirect.github.com/remix-run/remix/pull/6135))
- short circuit links and meta for routes that are not rendered due to
errors
([#&#8203;6107](https://redirect.github.com/remix-run/remix/pull/6107))
- don't warn about runtime deprecation warnings in production
([#&#8203;4421](https://redirect.github.com/remix-run/remix/pull/4421))
- Update Remix for React Router no longer relying on
`useSyncExternalStore`
([#&#8203;6121](https://redirect.github.com/remix-run/remix/pull/6121))
- Fix false-positive resource route identification if a route only
exports a boundary
([#&#8203;6125](https://redirect.github.com/remix-run/remix/pull/6125))
- better type discrimination when unwrapping loader return types
([#&#8203;5516](https://redirect.github.com/remix-run/remix/pull/5516))
-   Updated dependencies:
-
[`[email protected]`](https://redirect.github.com/remix-run/react-router/releases/tag/react-router%406.11.0)
-
[`@remix-run/[email protected]`](https://redirect.github.com/remix-run/react-router/blob/main/packages/router/CHANGELOG.md#160)

</details>

<details>
<summary>remix-run/remix (@&#8203;remix-run/serve)</summary>

###
[`v1.19.3`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#1193)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/[email protected]`
    -   `@remix-run/[email protected]`

###
[`v1.19.2`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#1192)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

- Install `source-map-support`
([#&#8203;7039](https://redirect.github.com/remix-run/remix/pull/7039))
-   Updated dependencies:
    -   `@remix-run/[email protected]`
    -   `@remix-run/[email protected]`

###
[`v1.19.1`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#1191)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/[email protected]`
    -   `@remix-run/[email protected]`

###
[`v1.19.0`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#1190)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/[email protected]`
    -   `@remix-run/[email protected]`

###
[`v1.18.1`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#1181)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/[email protected]`
    -   `@remix-run/[email protected]`

###
[`v1.18.0`](https://redirect.github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#1180)

[Compare
Source](https://redirect.github.com/remix-run/remix/compare/@remix-run/[email protected]...@remix-run/[email protected])

##### Minor Changes

- stabilize v2 dev server
([#&#8203;6615](https://redirect.github.com/remix-run/remix/pull/6615))

##### Patch Changes

- fix(types): better tuple serialization types
([#&#8203;6616](https://redirect.github.com/remix-run/remix/pull/6616))
-   Updated dependencies:
    -   `@remix-run/[email protected]`
    -   `@remix-run/[email protected]`

### [`v1.17.1`](https://redirect.github.com/remix-run/remix/

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/creatorsgarten/contentsgarten).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS41OC4xIiwidXBkYXRlZEluVmVyIjoiMzkuNTguMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
  • Loading branch information
renovate[bot] authored Dec 16, 2024
1 parent d0fa527 commit b5d1eca
Showing 1 changed file with 2,069 additions and 3,134 deletions.
Loading

0 comments on commit b5d1eca

Please sign in to comment.