```
### `create-remix --template`
diff --git a/docs/start/future-flags.md b/docs/start/future-flags.md
index 4c680abcc62..1356d4937d1 100644
--- a/docs/start/future-flags.md
+++ b/docs/start/future-flags.md
@@ -234,7 +234,7 @@ The fetcher lifecycle is now based on when it returns to an idle state rather th
👉 **Enable the Flag**
-```ts
+```ts filename=vite.config.ts
remix({
future: {
v3_fetcherPersist: true,
@@ -254,7 +254,7 @@ Changes the relative path matching and linking for multi-segment splats paths li
👉 **Enable the Flag**
-```ts
+```ts filename=vite.config.ts
remix({
future: {
v3_relativeSplatPath: true,
@@ -320,7 +320,7 @@ When a server-side request is aborted, such as when a user navigates away from a
👉 **Enable the Flag**
-```ts
+```ts filename=vite.config.ts
remix({
future: {
v3_throwAbortReason: true,
@@ -334,21 +334,171 @@ You likely won't need to adjust any code, unless you had custom logic inside of
## v3_singleFetch
-Opt into [Single Fetch][single-fetch] behavior (details will be expanded once the flag stabilizes).
+**Background**
+
+with this flag, Remix moves to a "single fetch" approach for data requests when making SPA navigations within your app. Additional details are available in the [docs][single-fetch], but the main reason we chose to move to this approach is **Simplicity**. With Single Fetch, data requests now behave just like document requests and developers no longer need to think about the nuances of how to manage headers, caching, etc., differently between the two. For more advanced use-cases, developers can still opt into fine-grained revalidations.
+
+👉 **Enable the Flag (and the types)**
+
+```ts filename=vite.config.ts lines=[5-10,16]
+import { vitePlugin as remix } from "@remix-run/dev";
+import { defineConfig } from "vite";
+import tsconfigPaths from "vite-tsconfig-paths";
+
+declare module "@remix-run/node" {
+ // or cloudflare, deno, etc.
+ interface Future {
+ v3_singleFetch: true;
+ }
+}
+
+export default defineConfig({
+ plugins: [
+ remix({
+ future: {
+ v3_singleFetch: true,
+ },
+ }),
+ tsconfigPaths(),
+ ],
+});
+```
+
+**Update your Code**
+
+You should be able to mostly use your code as-is with the flag enabled, but the following changes should be made over time and will be required prior to the next major version.
+
+👉 **Remove json()/defer() in favor of raw objects**
+
+Single Fetch supports JSON objects and Promises out of the box, so you can return the raw data from your `loader`/`action` functions:
+
+```diff
+-import { json } from "@remix-run/node";
+
+export async function loader({}: LoaderFunctionArgs) {
+ let tasks = await fetchTasks();
+- return json(tasks);
++ return tasks;
+}
+```
+
+```diff
+-import { defer } from "@remix-run/node";
+
+export async function loader({}: LoaderFunctionArgs) {
+ let lazyStuff = fetchLazyStuff();
+ let tasks = await fetchTasks();
+- return defer({ tasks, lazyStuff });
++ return { tasks, lazyStuff };
+}
+```
+
+If you were using the second parameter of `json`/`defer` to set a custom status or headers on your response, you can continue doing do via the new `data` API:
+
+```diff
+-import { json } from "@remix-run/node";
++import { data } from "@remix-run/node";
+
+export async function loader({}: LoaderFunctionArgs) {
+ let tasks = await fetchTasks();
+- return json(tasks, {
++ return data(tasks, {
+ headers: {
+ "Cache-Control": "public, max-age=604800"
+ }
+ });
+}
+```
+
+👉 **Adjust your server abort delay**
+
+If you were using a custom `ABORT_DELAY` in your `entry.server.tsx` file, you should change that to use thew new `streamTimeout` API leveraged by Single Fetch:
+
+```diff filename=entry.server.tsx
+-const ABORT_DELAY = 5000;
++// Reject/cancel all pending promises after 5 seconds
++export const streamTimeout = 5000;
+
+// ...
+
+function handleBrowserRequest(/* ... */) {
+ return new Promise((resolve, reject) => {
+ const { pipe, abort } = renderToPipeableStream(
+ ,
+ {
+ onShellReady() {
+ /* ... */
+ },
+ onShellError(error: unknown) {
+ /* ... */
+ },
+ onError(error: unknown) {
+ /* ... */
+ },
+ }
+ );
+
+- setTimeout(abort, ABORT_DELAY);
++ // Automatically timeout the React renderer after 6 seconds, which ensures
++ // React has enough time to flush down the rejected boundary contents
++ setTimeout(abort, streamTimeout + 1000);
+ });
+}
+```
## v3_lazyRouteDiscovery
-Opt into [Lazy Route Discovery][lazy-route-discovery] behavior (details will be expanded once the flag stabilizes).
+**Background**
+
+With this flag, Remix no longer sends the full route manifest up to the client on initial load. Instead, Remix only sends the server-rendered routes up in the manifest and then fetches the remaining routes as the user navigated around the application. Additional details are available in the [docs][lazy-route-discovery] and the [blog post][lazy-route-discovery-blog-post]
+
+👉 **Enable the Flag**
+
+```ts filename=vite.config.ts
+remix({
+ future: {
+ v3_lazyRouteDiscovery: true,
+ },
+});
+```
-## unstable_optimizeDeps
+**Update your Code**
+
+You shouldn't need to make any changes to your application code for this feature to work.
+
+You may find some usage for the new [``][discover-prop] API if you wish to disable eager route discovery on certain links.
+
+## v3_optimizeDeps
+
+**Background**
+
+This flag allows you to opt-into automatic [dependency optimization][dependency-optimization] during development when using Vite.
+
+👉 **Enable the Flag**
+
+```ts filename=vite.config.ts
+remix({
+ future: {
+ v3_optimizeDeps: true,
+ },
+});
+```
+
+**Update your Code**
-Opt into automatic [dependency optimization][dependency-optimization] during development.
+You shouldn't need to make any changes to your application code for this feature to work.
[development-strategy]: ../guides/api-development-strategy
[fetcherpersist-rfc]: https://github.com/remix-run/remix/discussions/7698
[relativesplatpath-changelog]: https://github.com/remix-run/remix/blob/main/CHANGELOG.md#futurev3_relativesplatpath
[single-fetch]: ../guides/single-fetch
[lazy-route-discovery]: ../guides/lazy-route-discovery
+[lazy-route-discovery-blog-post]: https://remix.run/blog/fog-of-war
+[discover-prop]: ../components/link#discover
[vite]: https://vitejs.dev
[vite-docs]: ../guides/vite
[supported-remix-config-options]: ../file-conventions/vite-config
diff --git a/docs/start/tutorial.md b/docs/start/tutorial.md
index 625f94d1e65..e41ee6436df 100644
--- a/docs/start/tutorial.md
+++ b/docs/start/tutorial.md
@@ -168,7 +168,7 @@ export default function Contact() {
const contact = {
first: "Your",
last: "Name",
- avatar: "https://placekitten.com/200/200",
+ avatar: "https://placecats.com/200/200",
twitter: "your_handle",
notes: "Some notes",
favorite: true,
@@ -634,11 +634,11 @@ export default function EditContact() {
Name
```
diff --git a/integration/client-data-test.ts b/integration/client-data-test.ts
index 5588ce84825..eebc4fb7c72 100644
--- a/integration/client-data-test.ts
+++ b/integration/client-data-test.ts
@@ -937,7 +937,17 @@ test.describe("Client Data", () => {
let app = new PlaywrightFixture(appFixture, page);
let logs: string[] = [];
- page.on("console", (msg) => logs.push(msg.text()));
+ page.on("console", (msg) => {
+ let text = msg.text();
+ if (
+ // Ignore any dev tools messages. This may only happen locally when dev
+ // tools is installed and not in CI but either way we don't care
+ /Download the React DevTools/.test(text)
+ ) {
+ return;
+ }
+ logs.push(text);
+ });
await app.goto("/parent/child", false);
let html = await app.getHtml("main");
@@ -954,10 +964,7 @@ test.describe("Client Data", () => {
expect(html).toMatch("Child Server Error");
expect(html).not.toMatch("Should not see me");
- expect(logs).toEqual([
- expect.stringContaining("Download the React DevTools"),
- "running parent client loader",
- ]);
+ expect(logs).toEqual(["running parent client loader"]);
console.error = _consoleError;
});
diff --git a/integration/helpers/node-template/package.json b/integration/helpers/node-template/package.json
index 57b73e3c4c4..f57ba9e27d5 100644
--- a/integration/helpers/node-template/package.json
+++ b/integration/helpers/node-template/package.json
@@ -16,7 +16,7 @@
"@remix-run/react": "workspace:*",
"@remix-run/serve": "workspace:*",
"@remix-run/server-runtime": "workspace:*",
- "express": "^4.19.2",
+ "express": "^4.20.0",
"isbot": "^4.1.0",
"react": "^18.2.0",
"react-dom": "^18.2.0"
diff --git a/integration/helpers/vite-cloudflare-template/package.json b/integration/helpers/vite-cloudflare-template/package.json
index bbfc0138a52..de435b53d85 100644
--- a/integration/helpers/vite-cloudflare-template/package.json
+++ b/integration/helpers/vite-cloudflare-template/package.json
@@ -11,9 +11,9 @@
"typecheck": "tsc"
},
"dependencies": {
- "@remix-run/cloudflare": "2.12.1",
- "@remix-run/cloudflare-pages": "2.12.1",
- "@remix-run/react": "2.12.1",
+ "@remix-run/cloudflare": "2.13.0",
+ "@remix-run/cloudflare-pages": "2.13.0",
+ "@remix-run/react": "2.13.0",
"isbot": "^4.1.0",
"miniflare": "^3.20231030.4",
"react": "^18.2.0",
@@ -26,7 +26,7 @@
"@types/react": "^18.2.20",
"@types/react-dom": "^18.2.7",
"typescript": "^5.1.6",
- "vite": "5.1.3",
+ "vite": "5.1.8",
"vite-tsconfig-paths": "^4.2.1",
"wrangler": "^3.24.0"
},
diff --git a/integration/helpers/vite-template/package.json b/integration/helpers/vite-template/package.json
index c825ca66055..3d9a59396e3 100644
--- a/integration/helpers/vite-template/package.json
+++ b/integration/helpers/vite-template/package.json
@@ -17,7 +17,7 @@
"@remix-run/serve": "workspace:*",
"@vanilla-extract/css": "^1.10.0",
"@vanilla-extract/vite-plugin": "^3.9.2",
- "express": "^4.19.2",
+ "express": "^4.20.0",
"isbot": "^4.1.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
@@ -30,7 +30,7 @@
"@types/react-dom": "^18.2.7",
"eslint": "^8.38.0",
"typescript": "^5.1.6",
- "vite": "5.1.0",
+ "vite": "5.1.8",
"vite-env-only": "^2.0.0",
"vite-tsconfig-paths": "^4.2.1",
"wrangler": "^3.24.0"
diff --git a/integration/package.json b/integration/package.json
index a7071bbb80b..d17bcca979e 100644
--- a/integration/package.json
+++ b/integration/package.json
@@ -14,7 +14,7 @@
"@remix-run/dev": "workspace:*",
"@remix-run/express": "workspace:*",
"@remix-run/node": "workspace:*",
- "@remix-run/router": "1.20.0-pre.0",
+ "@remix-run/router": "1.20.0",
"@remix-run/server-runtime": "workspace:*",
"@types/express": "^4.17.9",
"@vanilla-extract/css": "^1.10.0",
@@ -23,7 +23,7 @@
"cross-spawn": "^7.0.3",
"dedent": "^0.7.0",
"execa": "^5.1.1",
- "express": "^4.19.2",
+ "express": "^4.20.0",
"fs-extra": "^10.0.0",
"get-port": "^5.1.1",
"glob": "8.0.3",
diff --git a/package.json b/package.json
index 49c82aaf605..511e6694e4c 100644
--- a/package.json
+++ b/package.json
@@ -118,7 +118,7 @@
"remark-gfm": "3.0.1",
"remark-parse": "^10.0.1",
"remark-stringify": "^10.0.2",
- "rollup": "^2.36.1",
+ "rollup": "^2.79.2",
"rollup-plugin-copy": "^3.3.0",
"semver": "^7.3.7",
"simple-git": "^3.16.0",
@@ -129,7 +129,7 @@
"unified": "^10.1.2",
"unist-util-remove": "^3.1.0",
"unist-util-visit": "^4.1.1",
- "vite": "5.1.3",
+ "vite": "5.1.8",
"vite-tsconfig-paths": "^4.2.2",
"wait-on": "^7.0.1",
"wrangler": "^3.72.3"
diff --git a/packages/create-remix/CHANGELOG.md b/packages/create-remix/CHANGELOG.md
index d38a29905b5..fbc3d266508 100644
--- a/packages/create-remix/CHANGELOG.md
+++ b/packages/create-remix/CHANGELOG.md
@@ -1,5 +1,9 @@
# `create-remix`
+## 2.13.0
+
+No significant changes to this package were made in this release. [See the repo `CHANGELOG.md`](https://github.com/remix-run/remix/blob/main/CHANGELOG.md) for an overview of all changes in v2.13.0.
+
## 2.12.1
No significant changes to this package were made in this release. [See the repo `CHANGELOG.md`](https://github.com/remix-run/remix/blob/main/CHANGELOG.md) for an overview of all changes in v2.12.1.
@@ -146,7 +150,7 @@ No significant changes to this package were made in this release. [See the relea
### Patch Changes
-- Allow dots in github repo shorthand notation folder names (i.e., `npx create-remix --template remix-run/examples/socket.io`) ([#7277](https://github.com/remix-run/remix/pull/7277))
+- Allow dots in github repo shorthand notation folder names (i.e., `npx create-remix@latest --template remix-run/examples/socket.io`) ([#7277](https://github.com/remix-run/remix/pull/7277))
## 1.19.3
diff --git a/packages/create-remix/package.json b/packages/create-remix/package.json
index 0b226abffe6..24424148e5b 100644
--- a/packages/create-remix/package.json
+++ b/packages/create-remix/package.json
@@ -1,6 +1,6 @@
{
"name": "create-remix",
- "version": "2.12.1",
+ "version": "2.13.0",
"description": "Create a new Remix app",
"homepage": "https://remix.run",
"bugs": {
diff --git a/packages/remix-architect/CHANGELOG.md b/packages/remix-architect/CHANGELOG.md
index 876edd16332..df978b460fe 100644
--- a/packages/remix-architect/CHANGELOG.md
+++ b/packages/remix-architect/CHANGELOG.md
@@ -1,5 +1,12 @@
# `@remix-run/architect`
+## 2.13.0
+
+### Patch Changes
+
+- Updated dependencies:
+ - `@remix-run/node@2.13.0`
+
## 2.12.1
### Patch Changes
diff --git a/packages/remix-architect/package.json b/packages/remix-architect/package.json
index dd7b0269a31..7dd3b59f1ba 100644
--- a/packages/remix-architect/package.json
+++ b/packages/remix-architect/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/architect",
- "version": "2.12.1",
+ "version": "2.13.0",
"description": "Architect server request handler for Remix",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
diff --git a/packages/remix-cloudflare-pages/CHANGELOG.md b/packages/remix-cloudflare-pages/CHANGELOG.md
index 8edf01a3f0c..5aa3199898b 100644
--- a/packages/remix-cloudflare-pages/CHANGELOG.md
+++ b/packages/remix-cloudflare-pages/CHANGELOG.md
@@ -1,5 +1,12 @@
# `@remix-run/cloudflare-pages`
+## 2.13.0
+
+### Patch Changes
+
+- Updated dependencies:
+ - `@remix-run/cloudflare@2.13.0`
+
## 2.12.1
### Patch Changes
diff --git a/packages/remix-cloudflare-pages/package.json b/packages/remix-cloudflare-pages/package.json
index befdd859087..ca570257735 100644
--- a/packages/remix-cloudflare-pages/package.json
+++ b/packages/remix-cloudflare-pages/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/cloudflare-pages",
- "version": "2.12.1",
+ "version": "2.13.0",
"description": "Cloudflare Pages request handler for Remix",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
diff --git a/packages/remix-cloudflare-workers/CHANGELOG.md b/packages/remix-cloudflare-workers/CHANGELOG.md
index 7a30dc6115e..c69bef8deda 100644
--- a/packages/remix-cloudflare-workers/CHANGELOG.md
+++ b/packages/remix-cloudflare-workers/CHANGELOG.md
@@ -1,5 +1,12 @@
# `@remix-run/cloudflare-workers`
+## 2.13.0
+
+### Patch Changes
+
+- Updated dependencies:
+ - `@remix-run/cloudflare@2.13.0`
+
## 2.12.1
### Patch Changes
diff --git a/packages/remix-cloudflare-workers/package.json b/packages/remix-cloudflare-workers/package.json
index b263d71a415..cc154fb3f46 100644
--- a/packages/remix-cloudflare-workers/package.json
+++ b/packages/remix-cloudflare-workers/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/cloudflare-workers",
- "version": "2.12.1",
+ "version": "2.13.0",
"description": "Cloudflare worker request handler for Remix",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
diff --git a/packages/remix-cloudflare/CHANGELOG.md b/packages/remix-cloudflare/CHANGELOG.md
index 78e95e59d1b..cf2a7541231 100644
--- a/packages/remix-cloudflare/CHANGELOG.md
+++ b/packages/remix-cloudflare/CHANGELOG.md
@@ -1,5 +1,12 @@
# `@remix-run/cloudflare`
+## 2.13.0
+
+### Patch Changes
+
+- Updated dependencies:
+ - `@remix-run/server-runtime@2.13.0`
+
## 2.12.1
### Patch Changes
diff --git a/packages/remix-cloudflare/package.json b/packages/remix-cloudflare/package.json
index 27413616f72..222dc93fc48 100644
--- a/packages/remix-cloudflare/package.json
+++ b/packages/remix-cloudflare/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/cloudflare",
- "version": "2.12.1",
+ "version": "2.13.0",
"description": "Cloudflare platform abstractions for Remix",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
diff --git a/packages/remix-css-bundle/CHANGELOG.md b/packages/remix-css-bundle/CHANGELOG.md
index 700d716e930..377ffd88f0c 100644
--- a/packages/remix-css-bundle/CHANGELOG.md
+++ b/packages/remix-css-bundle/CHANGELOG.md
@@ -1,5 +1,9 @@
# @remix-run/css-bundle
+## 2.13.0
+
+No significant changes to this package were made in this release. [See the repo `CHANGELOG.md`](https://github.com/remix-run/remix/blob/main/CHANGELOG.md) for an overview of all changes in v2.13.0.
+
## 2.12.1
No significant changes to this package were made in this release. [See the repo `CHANGELOG.md`](https://github.com/remix-run/remix/blob/main/CHANGELOG.md) for an overview of all changes in v2.12.1.
diff --git a/packages/remix-css-bundle/package.json b/packages/remix-css-bundle/package.json
index 00602ab88a2..726af148d4f 100644
--- a/packages/remix-css-bundle/package.json
+++ b/packages/remix-css-bundle/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/css-bundle",
- "version": "2.12.1",
+ "version": "2.13.0",
"description": "CSS bundle href when using CSS bundling features in Remix",
"homepage": "https://remix.run",
"bugs": {
diff --git a/packages/remix-deno/CHANGELOG.md b/packages/remix-deno/CHANGELOG.md
index 85def5f4d92..fdc8de2e9c1 100644
--- a/packages/remix-deno/CHANGELOG.md
+++ b/packages/remix-deno/CHANGELOG.md
@@ -1,5 +1,12 @@
# `@remix-run/deno`
+## 2.13.0
+
+### Patch Changes
+
+- Updated dependencies:
+ - `@remix-run/server-runtime@2.13.0`
+
## 2.12.1
### Patch Changes
diff --git a/packages/remix-deno/package.json b/packages/remix-deno/package.json
index ed99eaa5524..dc89eaba3da 100644
--- a/packages/remix-deno/package.json
+++ b/packages/remix-deno/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/deno",
- "version": "2.12.1",
+ "version": "2.13.0",
"description": "Deno platform abstractions for Remix",
"homepage": "https://remix.run",
"main": "./index.ts",
diff --git a/packages/remix-dev/CHANGELOG.md b/packages/remix-dev/CHANGELOG.md
index 7a6039f7bde..d0a63133b8c 100644
--- a/packages/remix-dev/CHANGELOG.md
+++ b/packages/remix-dev/CHANGELOG.md
@@ -1,5 +1,35 @@
# `@remix-run/dev`
+## 2.13.0
+
+### Minor Changes
+
+- Stabilize the `future.unstable_optimizeDeps` flag into `future.v3_optimizeDeps` ([#10092](https://github.com/remix-run/remix/pull/10092))
+- Stabilize React Router APIs in Remix ([#9980](https://github.com/remix-run/remix/pull/9980))
+ - Adopt stabilized React Router APIs internally
+ - Single Fetch: `unstable_dataStrategy` -> `dataStrategy`
+ - Lazy Route Discovery: `unstable_patchRoutesOnNavigation` -> `patchRoutesOnNavigation`
+ - Stabilize public-facing APIs
+ - Single Fetch: `unstable_data()` -> `data()`
+ - `unstable_viewTransition` -> `viewTransition` (`Link`, `Form`, `navigate`, `submit`)
+ - `unstable_flushSync>` -> `` (`Link`, `Form`, `navigate`, `submit`, `useFetcher`)
+- Stabilize future flags ([#10072](https://github.com/remix-run/remix/pull/10072))
+ - `future.unstable_singleFetch` -> `future.v3_singleFetch`
+ - `future.unstable_lazyRouteDiscovery` -> `future.v3_lazyRouteDiscovery`
+
+### Patch Changes
+
+- Stop passing `request.signal` as the `renderToReadableStream` `signal` to abort server rendering for cloudflare/deno runtimes because by the time that `request` is aborted, aborting the rendering is useless because there's no way for React to flush down the unresolved boundaries ([#10047](https://github.com/remix-run/remix/pull/10047))
+ - This has been incorrect for some time, but only recently exposed due to a bug in how we were aborting requests when running via `remix vite:dev` because we were incorrectly aborting requests after successful renders - which was causing us to abort a completed React render, and try to close an already closed `ReadableStream`.
+ - This has likely not shown up in any production scenarios because cloudflare/deno production runtimes are (correctly) not aborting the `request.signal` on successful renders
+ - The built-in `entry.server` files no longer pass a `signal` to `renderToReadableStream` because adding a timeout-based abort signal to the default behavior would constitute a breaking change
+ - Users can configure this abort behavior via their own `entry.server` via `remix reveal entry.server`, and the template entry.server files have been updated with an example approach for newly created Remix apps
+- Fix adapter logic for aborting `request.signal` so we don't incorrectly abort on the `close` event for successful requests ([#10046](https://github.com/remix-run/remix/pull/10046))
+
+- Updated dependencies:
+ - `@remix-run/server-runtime@2.13.0`
+ - `@remix-run/node@2.13.0`
+
## 2.12.1
### Patch Changes
diff --git a/packages/remix-dev/__tests__/readConfig-test.ts b/packages/remix-dev/__tests__/readConfig-test.ts
index f528c16f15e..bd06d50309f 100644
--- a/packages/remix-dev/__tests__/readConfig-test.ts
+++ b/packages/remix-dev/__tests__/readConfig-test.ts
@@ -36,9 +36,9 @@ describe("readConfig", () => {
"entryServerFile": "entry.server.tsx",
"entryServerFilePath": Any,
"future": {
- "unstable_optimizeDeps": false,
"v3_fetcherPersist": false,
"v3_lazyRouteDiscovery": false,
+ "v3_optimizeDeps": false,
"v3_relativeSplatPath": false,
"v3_singleFetch": false,
"v3_throwAbortReason": false,
diff --git a/packages/remix-dev/config.ts b/packages/remix-dev/config.ts
index 16065ff01af..b6cb6dd8f01 100644
--- a/packages/remix-dev/config.ts
+++ b/packages/remix-dev/config.ts
@@ -39,7 +39,7 @@ interface FutureConfig {
v3_throwAbortReason: boolean;
v3_singleFetch: boolean;
v3_lazyRouteDiscovery: boolean;
- unstable_optimizeDeps: boolean;
+ v3_optimizeDeps: boolean;
}
type NodeBuiltinsPolyfillOptions = Pick<
@@ -605,7 +605,7 @@ export async function resolveConfig(
v3_throwAbortReason: appConfig.future?.v3_throwAbortReason === true,
v3_singleFetch: appConfig.future?.v3_singleFetch === true,
v3_lazyRouteDiscovery: appConfig.future?.v3_lazyRouteDiscovery === true,
- unstable_optimizeDeps: appConfig.future?.unstable_optimizeDeps === true,
+ v3_optimizeDeps: appConfig.future?.v3_optimizeDeps === true,
};
if (appConfig.future) {
diff --git a/packages/remix-dev/package.json b/packages/remix-dev/package.json
index 0c24f2f1cf5..df0d561ce93 100644
--- a/packages/remix-dev/package.json
+++ b/packages/remix-dev/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/dev",
- "version": "2.12.1",
+ "version": "2.13.0",
"description": "Dev tools and CLI for Remix",
"homepage": "https://remix.run",
"bugs": {
@@ -32,7 +32,7 @@
"@mdx-js/mdx": "^2.3.0",
"@npmcli/package-json": "^4.0.1",
"@remix-run/node": "workspace:*",
- "@remix-run/router": "1.20.0-pre.0",
+ "@remix-run/router": "1.20.0",
"@remix-run/server-runtime": "workspace:*",
"@types/mdx": "^2.0.5",
"@vanilla-extract/integration": "^6.2.0",
@@ -47,7 +47,7 @@
"esbuild-plugins-node-modules-polyfill": "^1.6.0",
"execa": "5.1.1",
"exit-hook": "2.2.1",
- "express": "^4.19.2",
+ "express": "^4.20.0",
"fs-extra": "^10.0.0",
"get-port": "^5.1.1",
"gunzip-maybe": "^1.4.2",
@@ -73,7 +73,7 @@
"set-cookie-parser": "^2.6.0",
"tar-fs": "^2.1.1",
"tsconfig-paths": "^4.0.0",
- "ws": "^7.4.5"
+ "ws": "^7.5.10"
},
"devDependencies": {
"@remix-run/cloudflare": "workspace:*",
@@ -102,12 +102,12 @@
"msw": "^1.2.3",
"strip-ansi": "^6.0.1",
"tiny-invariant": "^1.2.0",
- "vite": "5.1.3",
+ "vite": "5.1.8",
"wrangler": "^3.28.2"
},
"peerDependencies": {
- "@remix-run/react": "^2.12.1",
- "@remix-run/serve": "^2.12.1",
+ "@remix-run/react": "^2.13.0",
+ "@remix-run/serve": "^2.13.0",
"typescript": "^5.1.0",
"vite": "^5.1.0",
"wrangler": "^3.28.2"
diff --git a/packages/remix-dev/vite/plugin.ts b/packages/remix-dev/vite/plugin.ts
index 53ce6400b57..c886f7fcbcf 100644
--- a/packages/remix-dev/vite/plugin.ts
+++ b/packages/remix-dev/vite/plugin.ts
@@ -1075,7 +1075,7 @@ export const remixVitePlugin: RemixVitePlugin = (remixUserConfig = {}) => {
: undefined,
},
optimizeDeps: {
- entries: ctx.remixConfig.future.unstable_optimizeDeps
+ entries: ctx.remixConfig.future.v3_optimizeDeps
? [
ctx.entryClientFilePath,
...Object.values(ctx.remixConfig.routes).map((route) =>
diff --git a/packages/remix-eslint-config/CHANGELOG.md b/packages/remix-eslint-config/CHANGELOG.md
index 4b5c3c9eca0..fe21832a941 100644
--- a/packages/remix-eslint-config/CHANGELOG.md
+++ b/packages/remix-eslint-config/CHANGELOG.md
@@ -1,5 +1,9 @@
# `@remix-run/eslint-config`
+## 2.13.0
+
+No significant changes to this package were made in this release. [See the repo `CHANGELOG.md`](https://github.com/remix-run/remix/blob/main/CHANGELOG.md) for an overview of all changes in v2.13.0.
+
## 2.12.1
No significant changes to this package were made in this release. [See the repo `CHANGELOG.md`](https://github.com/remix-run/remix/blob/main/CHANGELOG.md) for an overview of all changes in v2.12.1.
diff --git a/packages/remix-eslint-config/package.json b/packages/remix-eslint-config/package.json
index 0aa6b67e7ec..2eef04d774c 100644
--- a/packages/remix-eslint-config/package.json
+++ b/packages/remix-eslint-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/eslint-config",
- "version": "2.12.1",
+ "version": "2.13.0",
"description": "ESLint configuration for Remix projects",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
diff --git a/packages/remix-express/CHANGELOG.md b/packages/remix-express/CHANGELOG.md
index 313928c165f..8deee99c92a 100644
--- a/packages/remix-express/CHANGELOG.md
+++ b/packages/remix-express/CHANGELOG.md
@@ -1,5 +1,13 @@
# `@remix-run/express`
+## 2.13.0
+
+### Patch Changes
+
+- Fix adapter logic for aborting `request.signal` so we don't incorrectly abort on the `close` event for successful requests ([#10046](https://github.com/remix-run/remix/pull/10046))
+- Updated dependencies:
+ - `@remix-run/node@2.13.0`
+
## 2.12.1
### Patch Changes
diff --git a/packages/remix-express/package.json b/packages/remix-express/package.json
index c48fbce17c8..806658fc7aa 100644
--- a/packages/remix-express/package.json
+++ b/packages/remix-express/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/express",
- "version": "2.12.1",
+ "version": "2.13.0",
"description": "Express server request handler for Remix",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
@@ -23,13 +23,13 @@
"@types/express": "^4.17.9",
"@types/node": "^18.17.1",
"@types/supertest": "^2.0.10",
- "express": "^4.19.2",
+ "express": "^4.20.0",
"node-mocks-http": "^1.10.1",
"supertest": "^6.3.3",
"typescript": "^5.1.6"
},
"peerDependencies": {
- "express": "^4.19.2",
+ "express": "^4.20.0",
"typescript": "^5.1.0"
},
"peerDependenciesMeta": {
diff --git a/packages/remix-node/CHANGELOG.md b/packages/remix-node/CHANGELOG.md
index b427e22b848..289aea2b5ad 100644
--- a/packages/remix-node/CHANGELOG.md
+++ b/packages/remix-node/CHANGELOG.md
@@ -1,5 +1,12 @@
# `@remix-run/node`
+## 2.13.0
+
+### Patch Changes
+
+- Updated dependencies:
+ - `@remix-run/server-runtime@2.13.0`
+
## 2.12.1
### Patch Changes
diff --git a/packages/remix-node/package.json b/packages/remix-node/package.json
index 5d4b97afbbb..bbfb70bb6a0 100644
--- a/packages/remix-node/package.json
+++ b/packages/remix-node/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/node",
- "version": "2.12.1",
+ "version": "2.13.0",
"description": "Node.js platform abstractions for Remix",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
diff --git a/packages/remix-react/CHANGELOG.md b/packages/remix-react/CHANGELOG.md
index f058cb461e1..126d9bb18e4 100644
--- a/packages/remix-react/CHANGELOG.md
+++ b/packages/remix-react/CHANGELOG.md
@@ -1,5 +1,27 @@
# `@remix-run/react`
+## 2.13.0
+
+### Minor Changes
+
+- Stabilize React Router APIs in Remix ([#9980](https://github.com/remix-run/remix/pull/9980))
+ - Adopt stabilized React Router APIs internally
+ - Single Fetch: `unstable_dataStrategy` -> `dataStrategy`
+ - Lazy Route Discovery: `unstable_patchRoutesOnNavigation` -> `patchRoutesOnNavigation`
+ - Stabilize public-facing APIs
+ - Single Fetch: `unstable_data()` -> `data()`
+ - `unstable_viewTransition` -> `viewTransition` (`Link`, `Form`, `navigate`, `submit`)
+ - `unstable_flushSync>` -> `` (`Link`, `Form`, `navigate`, `submit`, `useFetcher`)
+- Stabilize future flags ([#10072](https://github.com/remix-run/remix/pull/10072))
+ - `future.unstable_singleFetch` -> `future.v3_singleFetch`
+ - `future.unstable_lazyRouteDiscovery` -> `future.v3_lazyRouteDiscovery`
+
+### Patch Changes
+
+- Fix bug with `clientLoader.hydrate` in a layout route when hydrating with bubbled errors ([#10063](https://github.com/remix-run/remix/pull/10063))
+- Updated dependencies:
+ - `@remix-run/server-runtime@2.13.0`
+
## 2.12.1
### Patch Changes
diff --git a/packages/remix-react/package.json b/packages/remix-react/package.json
index e7edc513902..14501eacea9 100644
--- a/packages/remix-react/package.json
+++ b/packages/remix-react/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/react",
- "version": "2.12.1",
+ "version": "2.13.0",
"description": "React DOM bindings for Remix",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
@@ -19,10 +19,10 @@
"tsc": "tsc"
},
"dependencies": {
- "@remix-run/router": "1.20.0-pre.0",
+ "@remix-run/router": "1.20.0",
"@remix-run/server-runtime": "workspace:*",
- "react-router": "6.27.0-pre.0",
- "react-router-dom": "6.27.0-pre.0",
+ "react-router": "6.27.0",
+ "react-router-dom": "6.27.0",
"turbo-stream": "2.4.0"
},
"devDependencies": {
diff --git a/packages/remix-serve/CHANGELOG.md b/packages/remix-serve/CHANGELOG.md
index 16478322656..c4fa8a5f687 100644
--- a/packages/remix-serve/CHANGELOG.md
+++ b/packages/remix-serve/CHANGELOG.md
@@ -1,5 +1,13 @@
# `@remix-run/serve`
+## 2.13.0
+
+### Patch Changes
+
+- Updated dependencies:
+ - `@remix-run/express@2.13.0`
+ - `@remix-run/node@2.13.0`
+
## 2.12.1
### Patch Changes
diff --git a/packages/remix-serve/package.json b/packages/remix-serve/package.json
index 6fe1b017ef8..dc2090398fa 100644
--- a/packages/remix-serve/package.json
+++ b/packages/remix-serve/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/serve",
- "version": "2.12.1",
+ "version": "2.13.0",
"description": "Production application server for Remix",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
@@ -22,7 +22,7 @@
"@remix-run/node": "workspace:*",
"chokidar": "^3.5.3",
"compression": "^1.7.4",
- "express": "^4.19.2",
+ "express": "^4.20.0",
"get-port": "5.1.1",
"morgan": "^1.10.0",
"source-map-support": "^0.5.21"
diff --git a/packages/remix-server-runtime/CHANGELOG.md b/packages/remix-server-runtime/CHANGELOG.md
index e5dfae8975e..76d6b5d93e0 100644
--- a/packages/remix-server-runtime/CHANGELOG.md
+++ b/packages/remix-server-runtime/CHANGELOG.md
@@ -1,5 +1,21 @@
# `@remix-run/server-runtime`
+## 2.13.0
+
+### Minor Changes
+
+- Stabilize React Router APIs in Remix ([#9980](https://github.com/remix-run/remix/pull/9980))
+ - Adopt stabilized React Router APIs internally
+ - Single Fetch: `unstable_dataStrategy` -> `dataStrategy`
+ - Lazy Route Discovery: `unstable_patchRoutesOnNavigation` -> `patchRoutesOnNavigation`
+ - Stabilize public-facing APIs
+ - Single Fetch: `unstable_data()` -> `data()`
+ - `unstable_viewTransition` -> `viewTransition` (`Link`, `Form`, `navigate`, `submit`)
+ - `unstable_flushSync>` -> `` (`Link`, `Form`, `navigate`, `submit`, `useFetcher`)
+- Stabilize future flags ([#10072](https://github.com/remix-run/remix/pull/10072))
+ - `future.unstable_singleFetch` -> `future.v3_singleFetch`
+ - `future.unstable_lazyRouteDiscovery` -> `future.v3_lazyRouteDiscovery`
+
## 2.12.1
### Patch Changes
diff --git a/packages/remix-server-runtime/package.json b/packages/remix-server-runtime/package.json
index cc693edbb03..be6b91ac29c 100644
--- a/packages/remix-server-runtime/package.json
+++ b/packages/remix-server-runtime/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/server-runtime",
- "version": "2.12.1",
+ "version": "2.13.0",
"description": "Server runtime for Remix",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
@@ -19,7 +19,7 @@
"tsc": "tsc"
},
"dependencies": {
- "@remix-run/router": "1.20.0-pre.0",
+ "@remix-run/router": "1.20.0",
"@types/cookie": "^0.6.0",
"@web3-storage/multipart-parser": "^1.0.0",
"cookie": "^0.6.0",
diff --git a/packages/remix-testing/CHANGELOG.md b/packages/remix-testing/CHANGELOG.md
index e2a150e17d5..0a99197ed4f 100644
--- a/packages/remix-testing/CHANGELOG.md
+++ b/packages/remix-testing/CHANGELOG.md
@@ -1,5 +1,13 @@
# `@remix-run/testing`
+## 2.13.0
+
+### Patch Changes
+
+- Updated dependencies:
+ - `@remix-run/react@2.13.0`
+ - `@remix-run/node@2.13.0`
+
## 2.12.1
### Patch Changes
diff --git a/packages/remix-testing/package.json b/packages/remix-testing/package.json
index 8cd8a1e613e..906443f1bc4 100644
--- a/packages/remix-testing/package.json
+++ b/packages/remix-testing/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/testing",
- "version": "2.12.1",
+ "version": "2.13.0",
"description": "Testing utilities for Remix apps",
"homepage": "https://remix.run",
"bugs": {
@@ -21,8 +21,8 @@
"dependencies": {
"@remix-run/node": "workspace:*",
"@remix-run/react": "workspace:*",
- "@remix-run/router": "1.20.0-pre.0",
- "react-router-dom": "6.27.0-pre.0"
+ "@remix-run/router": "1.20.0",
+ "react-router-dom": "6.27.0"
},
"devDependencies": {
"@remix-run/server-runtime": "workspace:*",
diff --git a/packages/remix/package.json b/packages/remix/package.json
index 634c2d57a2d..40a8c7ffa8c 100644
--- a/packages/remix/package.json
+++ b/packages/remix/package.json
@@ -1,6 +1,6 @@
{
"name": "remix",
- "version": "2.12.1",
+ "version": "2.13.0",
"description": "A framework for building better websites",
"homepage": "https://remix.run",
"bugs": {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c8a81af7576..e7c6f22c28d 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -48,7 +48,7 @@ importers:
version: 2.4.1
'@mdx-js/rollup':
specifier: ^3.0.0
- version: 3.0.0(rollup@2.75.7)
+ version: 3.0.0(rollup@2.79.2)
'@octokit/core':
specifier: ^3.6.0
version: 3.6.0
@@ -93,19 +93,19 @@ importers:
version: link:packages/remix-testing
'@rollup/plugin-babel':
specifier: ^5.2.2
- version: 5.3.1(@babel/core@7.23.7)(rollup@2.75.7)
+ version: 5.3.1(@babel/core@7.23.7)(rollup@2.79.2)
'@rollup/plugin-commonjs':
specifier: ^21.1.0
- version: 21.1.0(rollup@2.75.7)
+ version: 21.1.0(rollup@2.79.2)
'@rollup/plugin-json':
specifier: ^5.0.0
- version: 5.0.2(rollup@2.75.7)
+ version: 5.0.2(rollup@2.79.2)
'@rollup/plugin-node-resolve':
specifier: ^11.0.1
- version: 11.2.1(rollup@2.75.7)
+ version: 11.2.1(rollup@2.79.2)
'@rollup/plugin-replace':
specifier: ^5.0.2
- version: 5.0.2(rollup@2.75.7)
+ version: 5.0.2(rollup@2.79.2)
'@testing-library/cypress':
specifier: ^8.0.2
version: 8.0.2(cypress@9.6.0)
@@ -257,8 +257,8 @@ importers:
specifier: ^10.0.2
version: 10.0.2
rollup:
- specifier: ^2.36.1
- version: 2.75.7
+ specifier: ^2.79.2
+ version: 2.79.2
rollup-plugin-copy:
specifier: ^3.3.0
version: 3.4.0
@@ -290,11 +290,11 @@ importers:
specifier: ^4.1.1
version: 4.1.1
vite:
- specifier: 5.1.3
- version: 5.1.3(@types/node@18.17.1)
+ specifier: 5.1.8
+ version: 5.1.8(@types/node@18.17.1)
vite-tsconfig-paths:
specifier: ^4.2.2
- version: 4.3.1(typescript@5.1.6)(vite@5.1.3)
+ version: 4.3.1(typescript@5.1.6)(vite@5.1.8)
wait-on:
specifier: ^7.0.1
version: 7.0.1
@@ -323,8 +323,8 @@ importers:
specifier: workspace:*
version: link:../packages/remix-node
'@remix-run/router':
- specifier: 1.20.0-pre.0
- version: 1.20.0-pre.0
+ specifier: 1.20.0
+ version: 1.20.0
'@remix-run/server-runtime':
specifier: workspace:*
version: link:../packages/remix-server-runtime
@@ -336,7 +336,7 @@ importers:
version: 1.14.1
'@vanilla-extract/vite-plugin':
specifier: ^3.9.2
- version: 3.9.5(vite@5.1.3)
+ version: 3.9.5(vite@5.1.8)
cheerio:
specifier: ^1.0.0-rc.12
version: 1.0.0-rc.12
@@ -350,8 +350,8 @@ importers:
specifier: ^5.1.1
version: 5.1.1
express:
- specifier: ^4.19.2
- version: 4.19.2
+ specifier: ^4.20.0
+ version: 4.20.0
fs-extra:
specifier: ^10.0.0
version: 10.1.0
@@ -411,7 +411,7 @@ importers:
version: 5.1.6
vite-tsconfig-paths:
specifier: ^4.2.2
- version: 4.3.1(typescript@5.1.6)(vite@5.1.3)
+ version: 4.3.1(typescript@5.1.6)(vite@5.1.8)
wrangler:
specifier: ^3.28.2
version: 3.74.0(@cloudflare/workers-types@4.20240208.0)
@@ -505,8 +505,8 @@ importers:
specifier: workspace:*
version: link:../../../packages/remix-server-runtime
express:
- specifier: ^4.19.2
- version: 4.19.2
+ specifier: ^4.20.0
+ version: 4.20.0
isbot:
specifier: ^4.1.0
version: 4.4.0
@@ -531,7 +531,7 @@ importers:
version: 1.14.1
'@vanilla-extract/vite-plugin':
specifier: ^3.9.2
- version: 3.9.5(vite@5.1.3)
+ version: 3.9.5(vite@5.1.8)
getos:
specifier: ^3.2.1
version: 3.2.1
@@ -548,13 +548,13 @@ importers:
integration/helpers/vite-cloudflare-template:
dependencies:
'@remix-run/cloudflare':
- specifier: 2.12.1
+ specifier: 2.13.0
version: link:../../../packages/remix-cloudflare
'@remix-run/cloudflare-pages':
- specifier: 2.12.1
+ specifier: 2.13.0
version: link:../../../packages/remix-cloudflare-pages
'@remix-run/react':
- specifier: 2.12.1
+ specifier: 2.13.0
version: link:../../../packages/remix-react
isbot:
specifier: ^4.1.0
@@ -588,11 +588,11 @@ importers:
specifier: ^5.1.6
version: 5.1.6
vite:
- specifier: 5.1.3
- version: 5.1.3(@types/node@18.17.1)
+ specifier: 5.1.8
+ version: 5.1.8(@types/node@18.17.1)
vite-tsconfig-paths:
specifier: ^4.2.1
- version: 4.3.1(typescript@5.1.6)(vite@5.1.3)
+ version: 4.3.1(typescript@5.1.6)(vite@5.1.8)
wrangler:
specifier: ^3.24.0
version: 3.74.0(@cloudflare/workers-types@4.20240208.0)
@@ -616,10 +616,10 @@ importers:
version: 1.14.1
'@vanilla-extract/vite-plugin':
specifier: ^3.9.2
- version: 3.9.5(vite@5.1.0)
+ version: 3.9.5(vite@5.1.8)
express:
- specifier: ^4.19.2
- version: 4.19.2
+ specifier: ^4.20.0
+ version: 4.20.0
isbot:
specifier: ^4.1.0
version: 4.4.0
@@ -652,14 +652,14 @@ importers:
specifier: ^5.1.6
version: 5.1.6
vite:
- specifier: 5.1.0
- version: 5.1.0
+ specifier: 5.1.8
+ version: 5.1.8(@types/node@18.17.1)
vite-env-only:
specifier: ^2.0.0
version: 2.2.0
vite-tsconfig-paths:
specifier: ^4.2.1
- version: 4.3.1(typescript@5.1.6)(vite@5.1.0)
+ version: 4.3.1(typescript@5.1.6)(vite@5.1.8)
wrangler:
specifier: ^3.24.0
version: 3.74.0(@cloudflare/workers-types@4.20240208.0)
@@ -868,11 +868,11 @@ importers:
specifier: workspace:*
version: link:../remix-node
'@remix-run/react':
- specifier: ^2.12.1
+ specifier: ^2.13.0
version: link:../remix-react
'@remix-run/router':
- specifier: 1.20.0-pre.0
- version: 1.20.0-pre.0
+ specifier: 1.20.0
+ version: 1.20.0
'@remix-run/server-runtime':
specifier: workspace:*
version: link:../remix-server-runtime
@@ -916,8 +916,8 @@ importers:
specifier: 2.2.1
version: 2.2.1
express:
- specifier: ^4.19.2
- version: 4.19.2
+ specifier: ^4.20.0
+ version: 4.20.0
fs-extra:
specifier: ^10.0.0
version: 10.1.0
@@ -997,8 +997,8 @@ importers:
specifier: ^5.1.0
version: 5.1.6
ws:
- specifier: ^7.4.5
- version: 7.5.9
+ specifier: ^7.5.10
+ version: 7.5.10
devDependencies:
'@remix-run/cloudflare':
specifier: workspace:*
@@ -1079,8 +1079,8 @@ importers:
specifier: ^1.2.0
version: 1.3.1
vite:
- specifier: 5.1.3
- version: 5.1.3(@types/node@18.17.1)
+ specifier: 5.1.8
+ version: 5.1.8(@types/node@18.17.1)
wrangler:
specifier: ^3.28.2
version: 3.74.0(@cloudflare/workers-types@4.20240208.0)
@@ -1168,8 +1168,8 @@ importers:
specifier: ^2.0.10
version: 2.0.16
express:
- specifier: ^4.19.2
- version: 4.19.2
+ specifier: ^4.20.0
+ version: 4.20.0
node-mocks-http:
specifier: ^1.10.1
version: 1.14.1
@@ -1217,17 +1217,17 @@ importers:
packages/remix-react:
dependencies:
'@remix-run/router':
- specifier: 1.20.0-pre.0
- version: 1.20.0-pre.0
+ specifier: 1.20.0
+ version: 1.20.0
'@remix-run/server-runtime':
specifier: workspace:*
version: link:../remix-server-runtime
react-router:
- specifier: 6.27.0-pre.0
- version: 6.27.0-pre.0(react@18.2.0)
+ specifier: 6.27.0
+ version: 6.27.0(react@18.2.0)
react-router-dom:
- specifier: 6.27.0-pre.0
- version: 6.27.0-pre.0(react-dom@18.2.0)(react@18.2.0)
+ specifier: 6.27.0
+ version: 6.27.0(react-dom@18.2.0)(react@18.2.0)
turbo-stream:
specifier: 2.4.0
version: 2.4.0
@@ -1275,8 +1275,8 @@ importers:
specifier: ^1.7.4
version: 1.7.4
express:
- specifier: ^4.19.2
- version: 4.19.2
+ specifier: ^4.20.0
+ version: 4.20.0
get-port:
specifier: 5.1.1
version: 5.1.1
@@ -1303,8 +1303,8 @@ importers:
packages/remix-server-runtime:
dependencies:
'@remix-run/router':
- specifier: 1.20.0-pre.0
- version: 1.20.0-pre.0
+ specifier: 1.20.0
+ version: 1.20.0
'@types/cookie':
specifier: ^0.6.0
version: 0.6.0
@@ -1340,11 +1340,11 @@ importers:
specifier: workspace:*
version: link:../remix-react
'@remix-run/router':
- specifier: 1.20.0-pre.0
- version: 1.20.0-pre.0
+ specifier: 1.20.0
+ version: 1.20.0
react-router-dom:
- specifier: 6.27.0-pre.0
- version: 6.27.0-pre.0(react-dom@18.2.0)(react@18.2.0)
+ specifier: 6.27.0
+ version: 6.27.0(react-dom@18.2.0)(react@18.2.0)
devDependencies:
'@remix-run/server-runtime':
specifier: workspace:*
@@ -3963,14 +3963,14 @@ packages:
- supports-color
dev: false
- /@mdx-js/rollup@3.0.0(rollup@2.75.7):
+ /@mdx-js/rollup@3.0.0(rollup@2.79.2):
resolution: {integrity: sha512-ITvGiwPGEBW+D7CCnpSA9brzAosIWHAi4y+Air8wgfLnez8aWue50avHtWMfnFLCp7vt+JQ9UM8nwfuQuuydxw==}
peerDependencies:
rollup: '>=2'
dependencies:
'@mdx-js/mdx': 3.0.0
- '@rollup/pluginutils': 5.0.5(rollup@2.75.7)
- rollup: 2.75.7
+ '@rollup/pluginutils': 5.0.5(rollup@2.79.2)
+ rollup: 2.79.2
source-map: 0.7.3
vfile: 6.0.1
transitivePeerDependencies:
@@ -4206,8 +4206,8 @@ packages:
- encoding
dev: false
- /@remix-run/router@1.20.0-pre.0:
- resolution: {integrity: sha512-xFJySbWOaxjYP8QJy9f1TdW98H+tT8ykvuJN8Ew1J1En4v77ega3FMbFD2M8sXkCq43PKuSBPc8oZWDub6IQhA==}
+ /@remix-run/router@1.20.0:
+ resolution: {integrity: sha512-mUnk8rPJBI9loFDZ+YzPGdeniYK+FTmRD1TMCz7ev2SNIozyKKpnGgsxO34u6Z4z/t0ITuu7voi/AshfsGsgFg==}
engines: {node: '>=14.0.0'}
dev: false
@@ -4250,7 +4250,7 @@ packages:
web-streams-polyfill: 3.2.0
dev: false
- /@rollup/plugin-babel@5.3.1(@babel/core@7.23.7)(rollup@2.75.7):
+ /@rollup/plugin-babel@5.3.1(@babel/core@7.23.7)(rollup@2.79.2):
resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
engines: {node: '>= 10.0.0'}
peerDependencies:
@@ -4263,27 +4263,27 @@ packages:
dependencies:
'@babel/core': 7.23.7
'@babel/helper-module-imports': 7.22.15
- '@rollup/pluginutils': 3.1.0(rollup@2.75.7)
- rollup: 2.75.7
+ '@rollup/pluginutils': 3.1.0(rollup@2.79.2)
+ rollup: 2.79.2
dev: false
- /@rollup/plugin-commonjs@21.1.0(rollup@2.75.7):
+ /@rollup/plugin-commonjs@21.1.0(rollup@2.79.2):
resolution: {integrity: sha512-6ZtHx3VHIp2ReNNDxHjuUml6ur+WcQ28N1yHgCQwsbNkQg2suhxGMDQGJOn/KuDxKtd1xuZP5xSTwBA4GQ8hbA==}
engines: {node: '>= 8.0.0'}
peerDependencies:
rollup: ^2.38.3
dependencies:
- '@rollup/pluginutils': 3.1.0(rollup@2.75.7)
+ '@rollup/pluginutils': 3.1.0(rollup@2.79.2)
commondir: 1.0.1
estree-walker: 2.0.2
glob: 7.2.0
is-reference: 1.2.1
magic-string: 0.25.9
resolve: 1.22.8
- rollup: 2.75.7
+ rollup: 2.79.2
dev: false
- /@rollup/plugin-json@5.0.2(rollup@2.75.7):
+ /@rollup/plugin-json@5.0.2(rollup@2.79.2):
resolution: {integrity: sha512-D1CoOT2wPvadWLhVcmpkDnesTzjhNIQRWLsc3fA49IFOP2Y84cFOOJ+nKGYedvXHKUsPeq07HR4hXpBBr+CHlA==}
engines: {node: '>=14.0.0'}
peerDependencies:
@@ -4292,26 +4292,26 @@ packages:
rollup:
optional: true
dependencies:
- '@rollup/pluginutils': 5.0.5(rollup@2.75.7)
- rollup: 2.75.7
+ '@rollup/pluginutils': 5.0.5(rollup@2.79.2)
+ rollup: 2.79.2
dev: false
- /@rollup/plugin-node-resolve@11.2.1(rollup@2.75.7):
+ /@rollup/plugin-node-resolve@11.2.1(rollup@2.79.2):
resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==}
engines: {node: '>= 10.0.0'}
peerDependencies:
rollup: ^1.20.0||^2.0.0
dependencies:
- '@rollup/pluginutils': 3.1.0(rollup@2.75.7)
+ '@rollup/pluginutils': 3.1.0(rollup@2.79.2)
'@types/resolve': 1.17.1
builtin-modules: 3.3.0
deepmerge: 4.2.2
is-module: 1.0.0
resolve: 1.22.8
- rollup: 2.75.7
+ rollup: 2.79.2
dev: false
- /@rollup/plugin-replace@5.0.2(rollup@2.75.7):
+ /@rollup/plugin-replace@5.0.2(rollup@2.79.2):
resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==}
engines: {node: '>=14.0.0'}
peerDependencies:
@@ -4320,12 +4320,12 @@ packages:
rollup:
optional: true
dependencies:
- '@rollup/pluginutils': 5.0.5(rollup@2.75.7)
+ '@rollup/pluginutils': 5.0.5(rollup@2.79.2)
magic-string: 0.27.0
- rollup: 2.75.7
+ rollup: 2.79.2
dev: false
- /@rollup/pluginutils@3.1.0(rollup@2.75.7):
+ /@rollup/pluginutils@3.1.0(rollup@2.79.2):
resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
engines: {node: '>= 8.0.0'}
peerDependencies:
@@ -4334,10 +4334,10 @@ packages:
'@types/estree': 0.0.39
estree-walker: 1.0.1
picomatch: 2.3.1
- rollup: 2.75.7
+ rollup: 2.79.2
dev: false
- /@rollup/pluginutils@5.0.5(rollup@2.75.7):
+ /@rollup/pluginutils@5.0.5(rollup@2.79.2):
resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==}
engines: {node: '>=14.0.0'}
peerDependencies:
@@ -4349,7 +4349,7 @@ packages:
'@types/estree': 1.0.0
estree-walker: 2.0.2
picomatch: 2.3.1
- rollup: 2.75.7
+ rollup: 2.79.2
dev: false
/@rollup/rollup-android-arm-eabi@4.4.1:
@@ -5245,7 +5245,7 @@ packages:
lodash: 4.17.21
mlly: 1.5.0
outdent: 0.8.0
- vite: 5.1.3(@types/node@18.17.1)
+ vite: 5.1.8(@types/node@18.17.1)
vite-node: 1.2.2(@types/node@18.17.1)
transitivePeerDependencies:
- '@types/node'
@@ -5260,7 +5260,7 @@ packages:
/@vanilla-extract/private@1.0.3:
resolution: {integrity: sha512-17kVyLq3ePTKOkveHxXuIJZtGYs+cSoev7BlP+Lf4916qfDhk/HBjvlYDe8egrea7LNPHKwSZJK/bzZC+Q6AwQ==}
- /@vanilla-extract/vite-plugin@3.9.5(vite@5.1.0):
+ /@vanilla-extract/vite-plugin@3.9.5(vite@5.1.8):
resolution: {integrity: sha512-CWI/CtrVW6i3HKccI6T7uGQkTJ8bd8Xl2UMBg3Pkr7dwWMmavXTeucV0I9KSbmXaYXSbEj+Q8c9y0xAZwtmTig==}
peerDependencies:
vite: ^2.2.3 || ^3.0.0 || ^4.0.3 || ^5.0.0
@@ -5269,29 +5269,7 @@ packages:
outdent: 0.8.0
postcss: 8.4.35
postcss-load-config: 4.0.2(postcss@8.4.35)
- vite: 5.1.0
- transitivePeerDependencies:
- - '@types/node'
- - less
- - lightningcss
- - sass
- - stylus
- - sugarss
- - supports-color
- - terser
- - ts-node
- dev: false
-
- /@vanilla-extract/vite-plugin@3.9.5(vite@5.1.3):
- resolution: {integrity: sha512-CWI/CtrVW6i3HKccI6T7uGQkTJ8bd8Xl2UMBg3Pkr7dwWMmavXTeucV0I9KSbmXaYXSbEj+Q8c9y0xAZwtmTig==}
- peerDependencies:
- vite: ^2.2.3 || ^3.0.0 || ^4.0.3 || ^5.0.0
- dependencies:
- '@vanilla-extract/integration': 6.5.0(@types/node@18.17.1)
- outdent: 0.8.0
- postcss: 8.4.35
- postcss-load-config: 4.0.2(postcss@8.4.35)
- vite: 5.1.3(@types/node@18.17.1)
+ vite: 5.1.8(@types/node@18.17.1)
transitivePeerDependencies:
- '@types/node'
- less
@@ -6073,8 +6051,8 @@ packages:
resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
dev: false
- /body-parser@1.20.2:
- resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==}
+ /body-parser@1.20.3:
+ resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
dependencies:
bytes: 3.1.2
@@ -6085,7 +6063,7 @@ packages:
http-errors: 2.0.0
iconv-lite: 0.4.24
on-finished: 2.4.1
- qs: 6.11.0
+ qs: 6.13.0
raw-body: 2.5.2
type-is: 1.6.18
unpipe: 1.0.0
@@ -6922,7 +6900,7 @@ packages:
object-keys: 1.1.1
object.assign: 4.1.5
regexp.prototype.flags: 1.5.2
- side-channel: 1.0.4
+ side-channel: 1.0.6
which-boxed-primitive: 1.0.2
which-collection: 1.0.1
which-typed-array: 1.1.14
@@ -7166,6 +7144,10 @@ packages:
resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
engines: {node: '>= 0.8'}
+ /encodeurl@2.0.0:
+ resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
+ engines: {node: '>= 0.8'}
+
/end-of-stream@1.4.4:
resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
dependencies:
@@ -8058,36 +8040,36 @@ packages:
jest-message-util: 29.7.0
jest-util: 29.7.0
- /express@4.19.2:
- resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==}
+ /express@4.20.0:
+ resolution: {integrity: sha512-pLdae7I6QqShF5PnNTCVn4hI91Dx0Grkn2+IAsMTgMIKuQVte2dN9PeGSSAME2FR8anOhVA62QDIUaWVfEXVLw==}
engines: {node: '>= 0.10.0'}
dependencies:
accepts: 1.3.8
array-flatten: 1.1.1
- body-parser: 1.20.2
+ body-parser: 1.20.3
content-disposition: 0.5.4
content-type: 1.0.5
cookie: 0.6.0
cookie-signature: 1.0.6
debug: 2.6.9
depd: 2.0.0
- encodeurl: 1.0.2
+ encodeurl: 2.0.0
escape-html: 1.0.3
etag: 1.8.1
finalhandler: 1.2.0
fresh: 0.5.2
http-errors: 2.0.0
- merge-descriptors: 1.0.1
+ merge-descriptors: 1.0.3
methods: 1.1.2
on-finished: 2.4.1
parseurl: 1.3.3
- path-to-regexp: 0.1.7
+ path-to-regexp: 0.1.10
proxy-addr: 2.0.7
qs: 6.11.0
range-parser: 1.2.1
safe-buffer: 5.2.1
- send: 0.18.0
- serve-static: 1.15.0
+ send: 0.19.0
+ serve-static: 1.16.0
setprototypeof: 1.2.0
statuses: 2.0.1
type-is: 1.6.18
@@ -8327,7 +8309,7 @@ packages:
dezalgo: 1.0.4
hexoid: 1.0.0
once: 1.4.0
- qs: 6.11.2
+ qs: 6.13.0
dev: true
/forwarded@0.2.0:
@@ -9018,7 +9000,7 @@ packages:
dependencies:
es-errors: 1.3.0
hasown: 2.0.1
- side-channel: 1.0.4
+ side-channel: 1.0.6
dev: false
/interpret@1.4.0:
@@ -10827,12 +10809,8 @@ packages:
yargs-parser: 18.1.3
dev: false
- /merge-descriptors@1.0.1:
- resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==}
-
/merge-descriptors@1.0.3:
resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==}
- dev: true
/merge-stream@2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
@@ -12232,8 +12210,8 @@ packages:
lru-cache: 10.2.0
minipass: 7.0.4
- /path-to-regexp@0.1.7:
- resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
+ /path-to-regexp@0.1.10:
+ resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==}
/path-to-regexp@6.2.1:
resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==}
@@ -12718,14 +12696,13 @@ packages:
resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
engines: {node: '>=0.6'}
dependencies:
- side-channel: 1.0.4
+ side-channel: 1.0.6
- /qs@6.11.2:
- resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==}
+ /qs@6.13.0:
+ resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==}
engines: {node: '>=0.6'}
dependencies:
- side-channel: 1.0.4
- dev: true
+ side-channel: 1.0.6
/qs@6.5.3:
resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==}
@@ -12801,26 +12778,26 @@ packages:
engines: {node: '>=0.10.0'}
dev: false
- /react-router-dom@6.27.0-pre.0(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-z8peFQxpWiqTBh18eWWBXiMMxWKJcqYSpHiP6s35zM7eh8s5TWKdhWsPSP3xVhHMIM6oYHVJCEawGsReFaI4PQ==}
+ /react-router-dom@6.27.0(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-+bvtFWMC0DgAFrfKXKG9Fc+BcXWRUO1aJIihbB79xaeq0v5UzfvnM5houGUm1Y461WVRcgAQ+Clh5rdb1eCx4g==}
engines: {node: '>=14.0.0'}
peerDependencies:
react: '>=16.8'
react-dom: '>=16.8'
dependencies:
- '@remix-run/router': 1.20.0-pre.0
+ '@remix-run/router': 1.20.0
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- react-router: 6.27.0-pre.0(react@18.2.0)
+ react-router: 6.27.0(react@18.2.0)
dev: false
- /react-router@6.27.0-pre.0(react@18.2.0):
- resolution: {integrity: sha512-hJSLrLWzjsTvPiE91/54bRJ8gVzQpIT/yb8MBQWvmsd+5fFaemYr6I/6pCdAw/jpOHg+948WDyCgsxXa0XExRQ==}
+ /react-router@6.27.0(react@18.2.0):
+ resolution: {integrity: sha512-YA+HGZXz4jaAkVoYBE98VQl+nVzI+cVI2Oj/06F5ZM+0u3TgedN9Y9kmMRo2mnkSK2nCpNQn0DVob4HCsY/WLw==}
engines: {node: '>=14.0.0'}
peerDependencies:
react: '>=16.8'
dependencies:
- '@remix-run/router': 1.20.0-pre.0
+ '@remix-run/router': 1.20.0
react: 18.2.0
dev: false
@@ -13262,8 +13239,8 @@ packages:
dependencies:
estree-walker: 0.6.1
- /rollup@2.75.7:
- resolution: {integrity: sha512-VSE1iy0eaAYNCxEXaleThdFXqZJ42qDBatAwrfnPlENEZ8erQ+0LYX4JXOLPceWfZpV1VtZwZ3dFCuOZiSyFtQ==}
+ /rollup@2.79.2:
+ resolution: {integrity: sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==}
engines: {node: '>=10.0.0'}
hasBin: true
optionalDependencies:
@@ -13409,14 +13386,34 @@ packages:
transitivePeerDependencies:
- supports-color
+ /send@0.19.0:
+ resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ etag: 1.8.1
+ fresh: 0.5.2
+ http-errors: 2.0.0
+ mime: 1.6.0
+ ms: 2.1.3
+ on-finished: 2.4.1
+ range-parser: 1.2.1
+ statuses: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+
/serialize-javascript@6.0.2:
resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
dependencies:
randombytes: 2.1.0
dev: false
- /serve-static@1.15.0:
- resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
+ /serve-static@1.16.0:
+ resolution: {integrity: sha512-pDLK8zwl2eKaYrs8mrPZBJua4hMplRWJ1tIFksVC3FtBEBnl8dxgeHtsaMS8DhS9i4fLObaon6ABoc4/hQGdPA==}
engines: {node: '>= 0.8.0'}
dependencies:
encodeurl: 1.0.2
@@ -13521,10 +13518,12 @@ packages:
rechoir: 0.6.2
dev: false
- /side-channel@1.0.4:
- resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
+ /side-channel@1.0.6:
+ resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
+ engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.7
+ es-errors: 1.3.0
get-intrinsic: 1.2.4
object-inspect: 1.13.1
@@ -13847,7 +13846,7 @@ packages:
internal-slot: 1.0.7
regexp.prototype.flags: 1.5.2
set-function-name: 2.0.1
- side-channel: 1.0.4
+ side-channel: 1.0.6
dev: false
/string.prototype.padend@3.1.5:
@@ -13986,7 +13985,7 @@ packages:
formidable: 2.1.2
methods: 1.1.2
mime: 2.6.0
- qs: 6.11.2
+ qs: 6.13.0
semver: 7.5.4
transitivePeerDependencies:
- supports-color
@@ -14838,7 +14837,7 @@ packages:
debug: 4.3.4(supports-color@8.1.1)
pathe: 1.1.2
picocolors: 1.0.0
- vite: 5.1.3(@types/node@18.17.1)
+ vite: 5.1.8(@types/node@18.17.1)
transitivePeerDependencies:
- '@types/node'
- less
@@ -14849,24 +14848,7 @@ packages:
- supports-color
- terser
- /vite-tsconfig-paths@4.3.1(typescript@5.1.6)(vite@5.1.0):
- resolution: {integrity: sha512-cfgJwcGOsIxXOLU/nELPny2/LUD/lcf1IbfyeKTv2bsupVbTH/xpFtdQlBmIP1GEK2CjjLxYhFfB+QODFAx5aw==}
- peerDependencies:
- vite: '*'
- peerDependenciesMeta:
- vite:
- optional: true
- dependencies:
- debug: 4.3.4(supports-color@8.1.1)
- globrex: 0.1.2
- tsconfck: 3.0.2(typescript@5.1.6)
- vite: 5.1.0
- transitivePeerDependencies:
- - supports-color
- - typescript
- dev: true
-
- /vite-tsconfig-paths@4.3.1(typescript@5.1.6)(vite@5.1.3):
+ /vite-tsconfig-paths@4.3.1(typescript@5.1.6)(vite@5.1.8):
resolution: {integrity: sha512-cfgJwcGOsIxXOLU/nELPny2/LUD/lcf1IbfyeKTv2bsupVbTH/xpFtdQlBmIP1GEK2CjjLxYhFfB+QODFAx5aw==}
peerDependencies:
vite: '*'
@@ -14877,47 +14859,13 @@ packages:
debug: 4.3.4(supports-color@8.1.1)
globrex: 0.1.2
tsconfck: 3.0.2(typescript@5.1.6)
- vite: 5.1.3(@types/node@18.17.1)
+ vite: 5.1.8(@types/node@18.17.1)
transitivePeerDependencies:
- supports-color
- typescript
- /vite@5.1.0:
- resolution: {integrity: sha512-STmSFzhY4ljuhz14bg9LkMTk3d98IO6DIArnTY6MeBwiD1Za2StcQtz7fzOUnRCqrHSD5+OS2reg4HOz1eoLnw==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- peerDependencies:
- '@types/node': ^18.0.0 || >=20.0.0
- less: '*'
- lightningcss: ^1.21.0
- sass: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.4.0
- peerDependenciesMeta:
- '@types/node':
- optional: true
- less:
- optional: true
- lightningcss:
- optional: true
- sass:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- terser:
- optional: true
- dependencies:
- esbuild: 0.19.12
- postcss: 8.4.35
- rollup: 4.4.1
- optionalDependencies:
- fsevents: 2.3.3
-
- /vite@5.1.3(@types/node@18.17.1):
- resolution: {integrity: sha512-UfmUD36DKkqhi/F75RrxvPpry+9+tTkrXfMNZD+SboZqBCMsxKtO52XeGzzuh7ioz+Eo/SYDBbdb0Z7vgcDJew==}
+ /vite@5.1.8(@types/node@18.17.1):
+ resolution: {integrity: sha512-mB8ToUuSmzODSpENgvpFk2fTiU/YQ1tmcVJJ4WZbq4fPdGJkFNVcmVL5k7iDug6xzWjjuGDKAuSievIsD6H7Xw==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
@@ -15205,8 +15153,8 @@ packages:
imurmurhash: 0.1.4
signal-exit: 3.0.7
- /ws@7.5.9:
- resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==}
+ /ws@7.5.10:
+ resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==}
engines: {node: '>=8.3.0'}
peerDependencies:
bufferutil: ^4.0.1
diff --git a/templates/cloudflare/app/root.tsx b/templates/cloudflare/app/root.tsx
index 61c8b983d28..c86a03ebf76 100644
--- a/templates/cloudflare/app/root.tsx
+++ b/templates/cloudflare/app/root.tsx
@@ -1,3 +1,4 @@
+import type { LinksFunction } from "@remix-run/cloudflare";
import {
Links,
Meta,
@@ -5,7 +6,6 @@ import {
Scripts,
ScrollRestoration,
} from "@remix-run/react";
-import type { LinksFunction } from "@remix-run/node";
import "./tailwind.css";
diff --git a/templates/cloudflare/app/routes/_index.tsx b/templates/cloudflare/app/routes/_index.tsx
index 13a5c00468c..afdf49c446e 100644
--- a/templates/cloudflare/app/routes/_index.tsx
+++ b/templates/cloudflare/app/routes/_index.tsx
@@ -1,4 +1,4 @@
-import type { MetaFunction } from "@remix-run/node";
+import type { MetaFunction } from "@remix-run/cloudflare";
export const meta: MetaFunction = () => {
return [