diff --git a/.changeset/pre.json b/.changeset/pre.json index aef1d77f847..eecf99a021a 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -20,5 +20,17 @@ "@remix-run/server-runtime": "2.4.1", "@remix-run/testing": "2.4.1" }, - "changesets": [] + "changesets": [ + "bright-kiwis-yawn", + "dry-books-hug", + "fair-bobcats-walk", + "five-peaches-attend", + "flat-toys-hope", + "giant-terms-fry", + "isbot-version-four", + "large-berries-sin", + "ninety-ducks-sin", + "spa-mode", + "wicked-suits-heal" + ] } diff --git a/packages/create-remix/CHANGELOG.md b/packages/create-remix/CHANGELOG.md index ca735da4837..90883a3d289 100644 --- a/packages/create-remix/CHANGELOG.md +++ b/packages/create-remix/CHANGELOG.md @@ -1,5 +1,11 @@ # `create-remix` +## 2.5.0-pre.0 + +### Patch Changes + +- Only update `*` versions for Remix dependencies ([#8458](https://github.com/remix-run/remix/pull/8458)) + ## 2.4.1 ### Patch Changes diff --git a/packages/create-remix/package.json b/packages/create-remix/package.json index 65a50192992..9ae01ea6e82 100644 --- a/packages/create-remix/package.json +++ b/packages/create-remix/package.json @@ -1,6 +1,6 @@ { "name": "create-remix", - "version": "2.4.1", + "version": "2.5.0-pre.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 ce00b7d632a..db5178aa673 100644 --- a/packages/remix-architect/CHANGELOG.md +++ b/packages/remix-architect/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/architect` +## 2.5.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/node@2.5.0-pre.0` + ## 2.4.1 ### Patch Changes diff --git a/packages/remix-architect/package.json b/packages/remix-architect/package.json index e41f7d275ef..c8d4ea15c22 100644 --- a/packages/remix-architect/package.json +++ b/packages/remix-architect/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/architect", - "version": "2.4.1", + "version": "2.5.0-pre.0", "description": "Architect server request handler for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -15,7 +15,7 @@ "typings": "dist/index.d.ts", "dependencies": { "@architect/functions": "^5.2.0", - "@remix-run/node": "2.4.1", + "@remix-run/node": "2.5.0-pre.0", "@types/aws-lambda": "^8.10.82" }, "devDependencies": { diff --git a/packages/remix-cloudflare-pages/CHANGELOG.md b/packages/remix-cloudflare-pages/CHANGELOG.md index a25360d66d2..d22995d363f 100644 --- a/packages/remix-cloudflare-pages/CHANGELOG.md +++ b/packages/remix-cloudflare-pages/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/cloudflare-pages` +## 2.5.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/cloudflare@2.5.0-pre.0` + ## 2.4.1 ### Patch Changes diff --git a/packages/remix-cloudflare-pages/package.json b/packages/remix-cloudflare-pages/package.json index ded2daac50b..62211099b33 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.4.1", + "version": "2.5.0-pre.0", "description": "Cloudflare Pages request handler for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -15,7 +15,7 @@ "typings": "dist/index.d.ts", "module": "dist/esm/index.js", "dependencies": { - "@remix-run/cloudflare": "2.4.1" + "@remix-run/cloudflare": "2.5.0-pre.0" }, "devDependencies": { "@cloudflare/workers-types": "^4.20230518.0", diff --git a/packages/remix-cloudflare-workers/CHANGELOG.md b/packages/remix-cloudflare-workers/CHANGELOG.md index 308b56c1b31..711b056a91b 100644 --- a/packages/remix-cloudflare-workers/CHANGELOG.md +++ b/packages/remix-cloudflare-workers/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/cloudflare-workers` +## 2.5.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/cloudflare@2.5.0-pre.0` + ## 2.4.1 ### Patch Changes diff --git a/packages/remix-cloudflare-workers/package.json b/packages/remix-cloudflare-workers/package.json index 76d7c2bd40f..47f22ec57b6 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.4.1", + "version": "2.5.0-pre.0", "description": "Cloudflare worker request handler for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -16,7 +16,7 @@ "module": "dist/esm/index.js", "dependencies": { "@cloudflare/kv-asset-handler": "^0.1.3", - "@remix-run/cloudflare": "2.4.1" + "@remix-run/cloudflare": "2.5.0-pre.0" }, "devDependencies": { "@cloudflare/workers-types": "^4.20230518.0", diff --git a/packages/remix-cloudflare/CHANGELOG.md b/packages/remix-cloudflare/CHANGELOG.md index c63edbcaf3b..cff0fcb1125 100644 --- a/packages/remix-cloudflare/CHANGELOG.md +++ b/packages/remix-cloudflare/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/cloudflare` +## 2.5.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/server-runtime@2.5.0-pre.0` + ## 2.4.1 ### Patch Changes diff --git a/packages/remix-cloudflare/package.json b/packages/remix-cloudflare/package.json index efe975009f3..908cff169f3 100644 --- a/packages/remix-cloudflare/package.json +++ b/packages/remix-cloudflare/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/cloudflare", - "version": "2.4.1", + "version": "2.5.0-pre.0", "description": "Cloudflare platform abstractions for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -15,7 +15,7 @@ "typings": "dist/index.d.ts", "dependencies": { "@cloudflare/kv-asset-handler": "^0.1.3", - "@remix-run/server-runtime": "2.4.1" + "@remix-run/server-runtime": "2.5.0-pre.0" }, "devDependencies": { "@cloudflare/workers-types": "^4.20230518.0", diff --git a/packages/remix-css-bundle/CHANGELOG.md b/packages/remix-css-bundle/CHANGELOG.md index 7a8bbd9943b..f4affb9759a 100644 --- a/packages/remix-css-bundle/CHANGELOG.md +++ b/packages/remix-css-bundle/CHANGELOG.md @@ -1,5 +1,7 @@ # @remix-run/css-bundle +## 2.5.0-pre.0 + ## 2.4.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.4.1. diff --git a/packages/remix-css-bundle/package.json b/packages/remix-css-bundle/package.json index 76140ad4732..a28eef02b08 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.4.1", + "version": "2.5.0-pre.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 0ef0edcd3ca..a4030802242 100644 --- a/packages/remix-deno/CHANGELOG.md +++ b/packages/remix-deno/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/deno` +## 2.5.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/server-runtime@2.5.0-pre.0` + ## 2.4.1 ### Patch Changes diff --git a/packages/remix-deno/package.json b/packages/remix-deno/package.json index 41ee150e9fe..f11464e9ba8 100644 --- a/packages/remix-deno/package.json +++ b/packages/remix-deno/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/deno", - "version": "2.4.1", + "version": "2.5.0-pre.0", "description": "Deno platform abstractions for Remix", "homepage": "https://remix.run", "main": "./index.ts", @@ -15,7 +15,7 @@ "license": "MIT", "sideEffects": false, "dependencies": { - "@remix-run/server-runtime": "2.4.1", + "@remix-run/server-runtime": "2.5.0-pre.0", "mime": "^3.0.0" }, "peerDependencies": { diff --git a/packages/remix-dev/CHANGELOG.md b/packages/remix-dev/CHANGELOG.md index 8b4a87ab28b..837af669539 100644 --- a/packages/remix-dev/CHANGELOG.md +++ b/packages/remix-dev/CHANGELOG.md @@ -1,5 +1,85 @@ # `@remix-run/dev` +## 2.5.0-pre.0 + +### Minor Changes + +- Add `unstable_serverBundles` option to Vite plugin to support splitting server code into multiple request handlers. ([#8332](https://github.com/remix-run/remix/pull/8332)) + + This is an advanced feature designed for hosting provider integrations. When compiling your app into multiple server bundles, there will need to be a custom routing layer in front of your app directing requests to the correct bundle. This feature is currently unstable and only designed to gather early feedback. + + **Example usage:** + + ```ts + import { unstable_vitePlugin as remix } from "@remix-run/dev"; + import { defineConfig } from "vite"; + + export default defineConfig({ + plugins: [ + remix({ + unstable_serverBundles: ({ branch }) => { + const isAuthenticatedRoute = branch.some( + (route) => route.id === "routes/_authenticated" + ); + + return isAuthenticatedRoute ? "authenticated" : "unauthenticated"; + }, + }), + ], + }); + ``` + +- Add unstable support for "SPA Mode" ([#8457](https://github.com/remix-run/remix/pull/8457)) + + You can opt into SPA Mode by setting `unstable_ssr: false` in your Remix Vite plugin config: + + ```js + // vite.config.ts + import { unstable_vitePlugin as remix } from "@remix-run/dev"; + import { defineConfig } from "vite"; + + export default defineConfig({ + plugins: [remix({ unstable_ssr: false })], + }); + ``` + + Development in SPA Mode is just like a normal Remix app, and still uses the Remix dev server for HMR/HDR: + + ```sh + remix vite:dev + ``` + + Building in SPA Mode will generate an `index.html` file in your client assets directory: + + ```sh + remix vite:build + ``` + + To run your SPA, you serve your client assets directory via an HTTP server: + + ```sh + npx http-server build/client + ``` + + For more information, please refer to the [SPA Mode docs][https://reactrouter.com/en/main/guides/spa-mode]. + +### Patch Changes + +- Vite: Fix HMR issues when altering exports for non-rendered routes ([#8157](https://github.com/remix-run/remix/pull/8157)) +- Vite: Default `NODE_ENV` to `"production"` when running `remix vite:build` command ([#8405](https://github.com/remix-run/remix/pull/8405)) +- Remove Vite plugin config option `serverBuildPath` in favor of separate `serverBuildDirectory` and `serverBuildFile` options ([#8332](https://github.com/remix-run/remix/pull/8332)) +- Vite: Loosen strict route exports restriction, reinstating support for non-Remix route exports ([#8420](https://github.com/remix-run/remix/pull/8420)) +- Fix issue with `isbot` v4 released on 1/1/2024 ([#8415](https://github.com/remix-run/remix/pull/8415)) + + - `remix dev` wil now add `"isbot": "^4"` to `package.json` instead of using `latest` + - Update built-in `entry.server` files to work with both `isbot@3` and `isbot@4` for backwards-compatibility with Remix apps that have pinned `isbot` to v3 + - Templates are updated to use `isbot@4` moving forward via `create-remix` + +- Updated dependencies: + - `@remix-run/serve@2.5.0-pre.0` + - `@remix-run/server-runtime@2.5.0-pre.0` + - `@remix-run/node@2.5.0-pre.0` + ## 2.4.1 ### Patch Changes diff --git a/packages/remix-dev/package.json b/packages/remix-dev/package.json index 98ea2dcc323..3ae49f08084 100644 --- a/packages/remix-dev/package.json +++ b/packages/remix-dev/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/dev", - "version": "2.4.1", + "version": "2.5.0-pre.0", "description": "Dev tools and CLI for Remix", "homepage": "https://remix.run", "bugs": { @@ -28,9 +28,9 @@ "@babel/types": "^7.22.5", "@mdx-js/mdx": "^2.3.0", "@npmcli/package-json": "^4.0.1", - "@remix-run/node": "2.4.1", + "@remix-run/node": "2.5.0-pre.0", "@remix-run/router": "1.14.2-pre.0", - "@remix-run/server-runtime": "2.4.1", + "@remix-run/server-runtime": "2.5.0-pre.0", "@types/mdx": "^2.0.5", "@vanilla-extract/integration": "^6.2.0", "arg": "^5.0.1", @@ -73,7 +73,7 @@ "ws": "^7.4.5" }, "devDependencies": { - "@remix-run/serve": "2.4.1", + "@remix-run/serve": "2.5.0-pre.0", "@types/cacache": "^17.0.0", "@types/cross-spawn": "^6.0.2", "@types/gunzip-maybe": "^1.4.0", @@ -94,7 +94,7 @@ "vite": "^5.0.0" }, "peerDependencies": { - "@remix-run/serve": "^2.4.1", + "@remix-run/serve": "^2.5.0-pre.0", "typescript": "^5.1.0", "vite": "^5.0.0" }, diff --git a/packages/remix-eslint-config/CHANGELOG.md b/packages/remix-eslint-config/CHANGELOG.md index 2b9ed57f4fd..914bef40b69 100644 --- a/packages/remix-eslint-config/CHANGELOG.md +++ b/packages/remix-eslint-config/CHANGELOG.md @@ -1,5 +1,7 @@ # `@remix-run/eslint-config` +## 2.5.0-pre.0 + ## 2.4.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.4.1. diff --git a/packages/remix-eslint-config/package.json b/packages/remix-eslint-config/package.json index cbd2c4db487..c83740e31a2 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.4.1", + "version": "2.5.0-pre.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 547fdbdb544..bf340e9fec5 100644 --- a/packages/remix-express/CHANGELOG.md +++ b/packages/remix-express/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/express` +## 2.5.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/node@2.5.0-pre.0` + ## 2.4.1 ### Patch Changes diff --git a/packages/remix-express/package.json b/packages/remix-express/package.json index 73bbd0d2cb0..cfa40301354 100644 --- a/packages/remix-express/package.json +++ b/packages/remix-express/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/express", - "version": "2.4.1", + "version": "2.5.0-pre.0", "description": "Express server request handler for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -14,7 +14,7 @@ "main": "dist/index.js", "typings": "dist/index.d.ts", "dependencies": { - "@remix-run/node": "2.4.1" + "@remix-run/node": "2.5.0-pre.0" }, "devDependencies": { "@types/express": "^4.17.9", diff --git a/packages/remix-node/CHANGELOG.md b/packages/remix-node/CHANGELOG.md index b289a2b6887..10f60c0f2c8 100644 --- a/packages/remix-node/CHANGELOG.md +++ b/packages/remix-node/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/node` +## 2.5.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/server-runtime@2.5.0-pre.0` + ## 2.4.1 ### Patch Changes diff --git a/packages/remix-node/package.json b/packages/remix-node/package.json index eff7047a121..f74c3559157 100644 --- a/packages/remix-node/package.json +++ b/packages/remix-node/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/node", - "version": "2.4.1", + "version": "2.5.0-pre.0", "description": "Node.js platform abstractions for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -17,7 +17,7 @@ "./install.js" ], "dependencies": { - "@remix-run/server-runtime": "2.4.1", + "@remix-run/server-runtime": "2.5.0-pre.0", "@remix-run/web-fetch": "^4.4.2", "@remix-run/web-file": "^3.1.0", "@remix-run/web-stream": "^1.1.0", diff --git a/packages/remix-react/CHANGELOG.md b/packages/remix-react/CHANGELOG.md index 87a1caff5cf..dce6c1ca023 100644 --- a/packages/remix-react/CHANGELOG.md +++ b/packages/remix-react/CHANGELOG.md @@ -1,5 +1,49 @@ # `@remix-run/react` +## 2.5.0-pre.0 + +### Minor Changes + +- Add unstable support for "SPA Mode" ([#8457](https://github.com/remix-run/remix/pull/8457)) + + You can opt into SPA Mode by setting `unstable_ssr: false` in your Remix Vite plugin config: + + ```js + // vite.config.ts + import { unstable_vitePlugin as remix } from "@remix-run/dev"; + import { defineConfig } from "vite"; + + export default defineConfig({ + plugins: [remix({ unstable_ssr: false })], + }); + ``` + + Development in SPA Mode is just like a normal Remix app, and still uses the Remix dev server for HMR/HDR: + + ```sh + remix vite:dev + ``` + + Building in SPA Mode will generate an `index.html` file in your client assets directory: + + ```sh + remix vite:build + ``` + + To run your SPA, you serve your client assets directory via an HTTP server: + + ```sh + npx http-server build/client + ``` + + For more information, please refer to the [SPA Mode docs][https://reactrouter.com/en/main/guides/spa-mode]. + +### Patch Changes + +- Vite: Fix type conflict with `import.meta.hot` from the existing Remix compiler ([#8459](https://github.com/remix-run/remix/pull/8459)) +- Updated dependencies: + - `@remix-run/server-runtime@2.5.0-pre.0` + ## 2.4.1 ### Patch Changes diff --git a/packages/remix-react/package.json b/packages/remix-react/package.json index ef63ccdf38b..96da55e334e 100644 --- a/packages/remix-react/package.json +++ b/packages/remix-react/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/react", - "version": "2.4.1", + "version": "2.5.0-pre.0", "description": "React DOM bindings for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -17,7 +17,7 @@ "module": "dist/esm/index.js", "dependencies": { "@remix-run/router": "1.14.2-pre.0", - "@remix-run/server-runtime": "2.4.1", + "@remix-run/server-runtime": "2.5.0-pre.0", "react-router": "6.21.2-pre.0", "react-router-dom": "6.21.2-pre.0" }, diff --git a/packages/remix-serve/CHANGELOG.md b/packages/remix-serve/CHANGELOG.md index 1b12ee53325..dece1ab30d8 100644 --- a/packages/remix-serve/CHANGELOG.md +++ b/packages/remix-serve/CHANGELOG.md @@ -1,5 +1,14 @@ # `@remix-run/serve` +## 2.5.0-pre.0 + +### Patch Changes + +- Don't try to load sourcemaps if they don't exist on disk ([#8446](https://github.com/remix-run/remix/pull/8446)) +- Updated dependencies: + - `@remix-run/node@2.5.0-pre.0` + - `@remix-run/express@2.5.0-pre.0` + ## 2.4.1 ### Patch Changes diff --git a/packages/remix-serve/package.json b/packages/remix-serve/package.json index 13233317594..24e19372f56 100644 --- a/packages/remix-serve/package.json +++ b/packages/remix-serve/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/serve", - "version": "2.4.1", + "version": "2.5.0-pre.0", "description": "Production application server for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -15,8 +15,8 @@ "remix-serve": "dist/cli.js" }, "dependencies": { - "@remix-run/express": "2.4.1", - "@remix-run/node": "2.4.1", + "@remix-run/express": "2.5.0-pre.0", + "@remix-run/node": "2.5.0-pre.0", "chokidar": "^3.5.3", "compression": "^1.7.4", "express": "^4.17.1", diff --git a/packages/remix-server-runtime/CHANGELOG.md b/packages/remix-server-runtime/CHANGELOG.md index 61e97efcdd5..b9953c6d49f 100644 --- a/packages/remix-server-runtime/CHANGELOG.md +++ b/packages/remix-server-runtime/CHANGELOG.md @@ -1,5 +1,44 @@ # `@remix-run/server-runtime` +## 2.5.0-pre.0 + +### Minor Changes + +- Updated `cookie` dependency to [`0.6.0`](https://github.com/jshttp/cookie/blob/master/HISTORY.md#060--2023-11-06) to inherit support for the [`Partitioned`](https://developer.mozilla.org/en-US/docs/Web/Privacy/Partitioned_cookies) attribute ([#8375](https://github.com/remix-run/remix/pull/8375)) +- Add unstable support for "SPA Mode" ([#8457](https://github.com/remix-run/remix/pull/8457)) + + You can opt into SPA Mode by setting `unstable_ssr: false` in your Remix Vite plugin config: + + ```js + // vite.config.ts + import { unstable_vitePlugin as remix } from "@remix-run/dev"; + import { defineConfig } from "vite"; + + export default defineConfig({ + plugins: [remix({ unstable_ssr: false })], + }); + ``` + + Development in SPA Mode is just like a normal Remix app, and still uses the Remix dev server for HMR/HDR: + + ```sh + remix vite:dev + ``` + + Building in SPA Mode will generate an `index.html` file in your client assets directory: + + ```sh + remix vite:build + ``` + + To run your SPA, you serve your client assets directory via an HTTP server: + + ```sh + npx http-server build/client + ``` + + For more information, please refer to the [SPA Mode docs][https://reactrouter.com/en/main/guides/spa-mode]. + ## 2.4.1 ### Patch Changes diff --git a/packages/remix-server-runtime/package.json b/packages/remix-server-runtime/package.json index ecb227ac624..d9cce09b512 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.4.1", + "version": "2.5.0-pre.0", "description": "Server runtime for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" diff --git a/packages/remix-testing/CHANGELOG.md b/packages/remix-testing/CHANGELOG.md index 0e44df460f2..c1b9a37d918 100644 --- a/packages/remix-testing/CHANGELOG.md +++ b/packages/remix-testing/CHANGELOG.md @@ -1,5 +1,49 @@ # `@remix-run/testing` +## 2.5.0-pre.0 + +### Minor Changes + +- Add unstable support for "SPA Mode" ([#8457](https://github.com/remix-run/remix/pull/8457)) + + You can opt into SPA Mode by setting `unstable_ssr: false` in your Remix Vite plugin config: + + ```js + // vite.config.ts + import { unstable_vitePlugin as remix } from "@remix-run/dev"; + import { defineConfig } from "vite"; + + export default defineConfig({ + plugins: [remix({ unstable_ssr: false })], + }); + ``` + + Development in SPA Mode is just like a normal Remix app, and still uses the Remix dev server for HMR/HDR: + + ```sh + remix vite:dev + ``` + + Building in SPA Mode will generate an `index.html` file in your client assets directory: + + ```sh + remix vite:build + ``` + + To run your SPA, you serve your client assets directory via an HTTP server: + + ```sh + npx http-server build/client + ``` + + For more information, please refer to the [SPA Mode docs][https://reactrouter.com/en/main/guides/spa-mode]. + +### Patch Changes + +- Updated dependencies: + - `@remix-run/react@2.5.0-pre.0` + - `@remix-run/node@2.5.0-pre.0` + ## 2.4.1 ### Patch Changes diff --git a/packages/remix-testing/package.json b/packages/remix-testing/package.json index d55ac5479d6..c7d5cd80fc4 100644 --- a/packages/remix-testing/package.json +++ b/packages/remix-testing/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/testing", - "version": "2.4.1", + "version": "2.5.0-pre.0", "description": "Testing utilities for Remix apps", "homepage": "https://remix.run", "bugs": { @@ -16,8 +16,8 @@ "typings": "./dist/index.d.ts", "module": "./dist/esm/index.js", "dependencies": { - "@remix-run/node": "2.4.1", - "@remix-run/react": "2.4.1", + "@remix-run/node": "2.5.0-pre.0", + "@remix-run/react": "2.5.0-pre.0", "@remix-run/router": "1.14.2-pre.0", "react-router-dom": "6.21.2-pre.0" }, diff --git a/packages/remix/package.json b/packages/remix/package.json index 8d83b61719a..80534bb54a2 100644 --- a/packages/remix/package.json +++ b/packages/remix/package.json @@ -1,6 +1,6 @@ { "name": "remix", - "version": "2.4.1", + "version": "2.5.0-pre.0", "description": "A framework for building better websites", "homepage": "https://remix.run", "bugs": {