From 10037e859d94d54ae25be22b5bd96ec66dda05f6 Mon Sep 17 00:00:00 2001 From: Matt Brophy Date: Thu, 30 Jan 2025 10:42:32 -0500 Subject: [PATCH 01/18] disable flaky safari test due to caching --- integration/vite-route-added-test.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/integration/vite-route-added-test.ts b/integration/vite-route-added-test.ts index 4180e896bca..ecb4e60c62a 100644 --- a/integration/vite-route-added-test.ts +++ b/integration/vite-route-added-test.ts @@ -38,7 +38,12 @@ test.describe(async () => { }); test.afterAll(() => stop()); - test("Vite / dev / route added", async ({ page }) => { + test("Vite / dev / route added", async ({ page, browserName }) => { + test.skip( + browserName === "webkit", + "Safari caches too aggressively, browser manifest is cached with old routes" + ); + let pageErrors: Error[] = []; page.on("pageerror", (error) => pageErrors.push(error)); @@ -64,7 +69,7 @@ test.describe(async () => { await expect .poll(async () => { await page.goto(`http://localhost:${port}/new`); - return page.getByText("new route").isVisible(); + return page.getByText("new route").isVisible(); }) .toBe(true); }); From 37ca9cc8cde2846ca53a50a1c922c7d5ecceb41a Mon Sep 17 00:00:00 2001 From: Matt Brophy Date: Thu, 30 Jan 2025 10:42:47 -0500 Subject: [PATCH 02/18] Fix whitespace --- integration/vite-route-added-test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integration/vite-route-added-test.ts b/integration/vite-route-added-test.ts index ecb4e60c62a..51f4ed7a20d 100644 --- a/integration/vite-route-added-test.ts +++ b/integration/vite-route-added-test.ts @@ -69,7 +69,7 @@ test.describe(async () => { await expect .poll(async () => { await page.goto(`http://localhost:${port}/new`); - return page.getByText("new route").isVisible(); + return page.getByText("new route").isVisible(); }) .toBe(true); }); From 74df69fe968a6b8429de23ddd7ed250c33d21f26 Mon Sep 17 00:00:00 2001 From: Matt Brophy Date: Wed, 12 Feb 2025 14:57:13 -0500 Subject: [PATCH 03/18] Don't apply single fetch revalidation de-optimization in SPA Mode (#10479) --- .changeset/clean-kangaroos-juggle.md | 5 +++ integration/vite-spa-mode-test.ts | 67 ++++++++++++++++++++++++++++ packages/remix-react/browser.tsx | 16 ++++--- 3 files changed, 81 insertions(+), 7 deletions(-) create mode 100644 .changeset/clean-kangaroos-juggle.md diff --git a/.changeset/clean-kangaroos-juggle.md b/.changeset/clean-kangaroos-juggle.md new file mode 100644 index 00000000000..00d1dcab1b4 --- /dev/null +++ b/.changeset/clean-kangaroos-juggle.md @@ -0,0 +1,5 @@ +--- +"@remix-run/react": patch +--- + +Don't apply Single Fetch revalidation de-optimization when in SPA mode since there is no server HTTP request diff --git a/integration/vite-spa-mode-test.ts b/integration/vite-spa-mode-test.ts index 8d0c13699c5..4bc41c8e8e2 100644 --- a/integration/vite-spa-mode-test.ts +++ b/integration/vite-spa-mode-test.ts @@ -590,6 +590,73 @@ test.describe("SPA Mode", () => { expect(html.match(/window.__remixContext =/g)?.length).toBe(1); expect(html.match(/💿 Hey developer 👋/g)?.length).toBe(1); }); + + test("does not inherit single fetch revalidation behavior", async ({ + page, + }) => { + fixture = await createFixture({ + compiler: "vite", + spaMode: true, + files: { + "vite.config.ts": js` + import { defineConfig } from "vite"; + import { vitePlugin as remix } from "@remix-run/dev"; + + export default defineConfig({ + plugins: [remix({ + ssr: false, + future: { + v3_singleFetch: true, + } + })], + }); + `, + "app/routes/_index.tsx": js` + import { Link } from '@remix-run/react'; + export default function Component() { + return Go to parent; + } + `, + "app/routes/parent.tsx": js` + import { Link, Outlet, useLoaderData } from '@remix-run/react'; + let count = 0; + export function clientLoader() { + return ++count; + } + export default function Component() { + let data = useLoaderData(); + return ( + <> +

Parent: {data}

+ Go to child +
{JSON.stringify(window.__remixContext)}
+ + + ) + } + `, + "app/routes/parent.child.tsx": js` + import { Link } from '@remix-run/react'; + export default function Component() { + return

Child

; + } + `, + }, + }); + appFixture = await createAppFixture(fixture); + + let app = new PlaywrightFixture(appFixture, page); + await app.goto("/", true); + await page.waitForSelector('a[href="/parent"]'); + await app.clickLink("/parent"); + await page.waitForSelector("h1"); + expect(await page.locator("h1").textContent()).toBe("Parent: 1"); + + await app.clickLink("/parent/child"); + await page.waitForSelector("h2"); + expect(await page.locator("h1").textContent()).toBe("Parent: 1"); + expect(await page.locator("h2").textContent()).toBe("Child"); + }); }); test.describe("normal apps", () => { diff --git a/packages/remix-react/browser.tsx b/packages/remix-react/browser.tsx index ab3decc320e..2dd2da3d6a9 100644 --- a/packages/remix-react/browser.tsx +++ b/packages/remix-react/browser.tsx @@ -303,13 +303,15 @@ export function RemixBrowser(_props: RemixBrowserProps): ReactElement { }, hydrationData, mapRouteProperties, - dataStrategy: window.__remixContext.future.v3_singleFetch - ? getSingleFetchDataStrategy( - window.__remixManifest, - window.__remixRouteModules, - () => router - ) - : undefined, + dataStrategy: + window.__remixContext.future.v3_singleFetch && + !window.__remixContext.isSpaMode + ? getSingleFetchDataStrategy( + window.__remixManifest, + window.__remixRouteModules, + () => router + ) + : undefined, patchRoutesOnNavigation: getPatchRoutesOnNavigationFunction( window.__remixManifest, window.__remixRouteModules, From 4cd356a335b836721fc9253683be48b736613ac3 Mon Sep 17 00:00:00 2001 From: Mark Dalgleish Date: Thu, 13 Feb 2025 14:17:20 +1100 Subject: [PATCH 04/18] Clean up vite-node dev server after build (#10477) --- .changeset/happy-ravens-burn.md | 5 +++++ packages/remix-dev/vite/plugin.ts | 1 + 2 files changed, 6 insertions(+) create mode 100644 .changeset/happy-ravens-burn.md diff --git a/.changeset/happy-ravens-burn.md b/.changeset/happy-ravens-burn.md new file mode 100644 index 00000000000..211e7960f67 --- /dev/null +++ b/.changeset/happy-ravens-burn.md @@ -0,0 +1,5 @@ +--- +"@remix-run/dev": patch +--- + +Clean up vite-node dev server when build finishes diff --git a/packages/remix-dev/vite/plugin.ts b/packages/remix-dev/vite/plugin.ts index e18bf788568..2bc8b01b7e2 100644 --- a/packages/remix-dev/vite/plugin.ts +++ b/packages/remix-dev/vite/plugin.ts @@ -1512,6 +1512,7 @@ export const remixVitePlugin: RemixVitePlugin = (remixUserConfig = {}) => { }, async buildEnd() { await viteChildCompiler?.close(); + await routesViteNodeContext?.devServer.close(); }, }, { From 026c244826a3d3ccc8ea35aa3a7f4468be760cc8 Mon Sep 17 00:00:00 2001 From: Mark Dalgleish Date: Fri, 14 Feb 2025 14:44:56 +1100 Subject: [PATCH 05/18] Add Vite v6 support (#10351) --- .changeset/lovely-files-move.md | 5 + docs/guides/typescript.md | 2 +- .../.gitignore | 0 .../app/root.tsx | 0 .../app/routes/_index.tsx | 0 .../env.d.ts | 0 .../helpers/vite-5-template/package.json | 42 ++ .../public/favicon.ico | Bin .../tsconfig.json | 0 .../vite.config.ts | 0 .../helpers/vite-6-template/.gitignore | 5 + .../helpers/vite-6-template/app/root.tsx | 25 + .../vite-6-template/app/routes/_index.tsx | 41 ++ integration/helpers/vite-6-template/env.d.ts | 2 + .../package.json | 4 +- .../vite-6-template/public/favicon.ico | Bin 0 -> 16958 bytes .../helpers/vite-6-template/tsconfig.json | 21 + .../helpers/vite-6-template/vite.config.ts | 7 + .../vite-cloudflare-template/package.json | 8 +- integration/helpers/vite.ts | 24 +- integration/package.json | 1 + integration/vite-css-test.ts | 219 +++--- integration/vite-hmr-hdr-test.ts | 241 +++--- integration/vite-route-config-test.ts | 660 +++++++++-------- package.json | 2 +- packages/remix-dev/__tests__/cli-test.ts | 3 +- packages/remix-dev/package.json | 7 +- packages/remix-dev/vite/build.ts | 8 +- packages/remix-dev/vite/dev.ts | 8 +- .../remix-dev/vite/import-vite-esm-sync.ts | 21 - .../remix-dev/vite/is-in-remix-monorepo.ts | 11 + packages/remix-dev/vite/plugin.ts | 83 ++- packages/remix-dev/vite/resolve-file-url.ts | 4 +- packages/remix-dev/vite/styles.ts | 19 +- packages/remix-dev/vite/vite-node.ts | 6 +- packages/remix-dev/vite/vite.ts | 31 + packages/remix-route-config/package.json | 2 +- pnpm-lock.yaml | 691 +++++++++++++++++- pnpm-workspace.yaml | 26 +- templates/cloudflare-workers/package.json | 2 +- templates/cloudflare/package.json | 2 +- templates/express/package.json | 2 +- templates/remix-javascript/package.json | 2 +- templates/remix-tutorial/package.json | 2 +- templates/remix/package.json | 2 +- templates/spa/package.json | 2 +- 46 files changed, 1575 insertions(+), 668 deletions(-) create mode 100644 .changeset/lovely-files-move.md rename integration/helpers/{vite-template => vite-5-template}/.gitignore (100%) rename integration/helpers/{vite-template => vite-5-template}/app/root.tsx (100%) rename integration/helpers/{vite-template => vite-5-template}/app/routes/_index.tsx (100%) rename integration/helpers/{vite-template => vite-5-template}/env.d.ts (100%) create mode 100644 integration/helpers/vite-5-template/package.json rename integration/helpers/{vite-template => vite-5-template}/public/favicon.ico (100%) rename integration/helpers/{vite-template => vite-5-template}/tsconfig.json (100%) rename integration/helpers/{vite-template => vite-5-template}/vite.config.ts (100%) create mode 100644 integration/helpers/vite-6-template/.gitignore create mode 100644 integration/helpers/vite-6-template/app/root.tsx create mode 100644 integration/helpers/vite-6-template/app/routes/_index.tsx create mode 100644 integration/helpers/vite-6-template/env.d.ts rename integration/helpers/{vite-template => vite-6-template}/package.json (94%) create mode 100644 integration/helpers/vite-6-template/public/favicon.ico create mode 100644 integration/helpers/vite-6-template/tsconfig.json create mode 100644 integration/helpers/vite-6-template/vite.config.ts delete mode 100644 packages/remix-dev/vite/import-vite-esm-sync.ts create mode 100644 packages/remix-dev/vite/is-in-remix-monorepo.ts create mode 100644 packages/remix-dev/vite/vite.ts diff --git a/.changeset/lovely-files-move.md b/.changeset/lovely-files-move.md new file mode 100644 index 00000000000..d092bc1a9b3 --- /dev/null +++ b/.changeset/lovely-files-move.md @@ -0,0 +1,5 @@ +--- +"@remix-run/dev": minor +--- + +Add Vite v6 support diff --git a/docs/guides/typescript.md b/docs/guides/typescript.md index e57e15e74e9..d09978e8ea9 100644 --- a/docs/guides/typescript.md +++ b/docs/guides/typescript.md @@ -35,7 +35,7 @@ The Remix CLI will not perform any type checking. Instead, you'll want to use Ty "@types/react-dom": "^18.2.7", "eslint": "^8.23.1", "typescript": "^5.1.6", - "vite": "^5.1.4" + "vite": "^6.0.0" }, "engines": { "node": ">=18.0.0" diff --git a/integration/helpers/vite-template/.gitignore b/integration/helpers/vite-5-template/.gitignore similarity index 100% rename from integration/helpers/vite-template/.gitignore rename to integration/helpers/vite-5-template/.gitignore diff --git a/integration/helpers/vite-template/app/root.tsx b/integration/helpers/vite-5-template/app/root.tsx similarity index 100% rename from integration/helpers/vite-template/app/root.tsx rename to integration/helpers/vite-5-template/app/root.tsx diff --git a/integration/helpers/vite-template/app/routes/_index.tsx b/integration/helpers/vite-5-template/app/routes/_index.tsx similarity index 100% rename from integration/helpers/vite-template/app/routes/_index.tsx rename to integration/helpers/vite-5-template/app/routes/_index.tsx diff --git a/integration/helpers/vite-template/env.d.ts b/integration/helpers/vite-5-template/env.d.ts similarity index 100% rename from integration/helpers/vite-template/env.d.ts rename to integration/helpers/vite-5-template/env.d.ts diff --git a/integration/helpers/vite-5-template/package.json b/integration/helpers/vite-5-template/package.json new file mode 100644 index 00000000000..e81802f2a3f --- /dev/null +++ b/integration/helpers/vite-5-template/package.json @@ -0,0 +1,42 @@ +{ + "name": "integration-vite-5-template", + "version": "0.0.0", + "private": true, + "sideEffects": false, + "type": "module", + "scripts": { + "dev": "remix vite:dev", + "build": "remix vite:build", + "start": "remix-serve ./build/server/index.js", + "typecheck": "tsc" + }, + "dependencies": { + "@remix-run/express": "workspace:*", + "@remix-run/node": "workspace:*", + "@remix-run/react": "workspace:*", + "@remix-run/serve": "workspace:*", + "@vanilla-extract/css": "^1.10.0", + "@vanilla-extract/vite-plugin": "^3.9.2", + "express": "^4.20.0", + "isbot": "^4.1.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "serialize-javascript": "^6.0.1" + }, + "devDependencies": { + "@remix-run/dev": "workspace:*", + "@remix-run/eslint-config": "workspace:*", + "@remix-run/route-config": "workspace:*", + "@types/react": "^18.2.20", + "@types/react-dom": "^18.2.7", + "eslint": "^8.38.0", + "typescript": "^5.1.6", + "vite": "5.1.8", + "vite-env-only": "^2.0.0", + "vite-tsconfig-paths": "^4.2.1", + "wrangler": "^3.24.0" + }, + "engines": { + "node": ">=18.0.0" + } +} diff --git a/integration/helpers/vite-template/public/favicon.ico b/integration/helpers/vite-5-template/public/favicon.ico similarity index 100% rename from integration/helpers/vite-template/public/favicon.ico rename to integration/helpers/vite-5-template/public/favicon.ico diff --git a/integration/helpers/vite-template/tsconfig.json b/integration/helpers/vite-5-template/tsconfig.json similarity index 100% rename from integration/helpers/vite-template/tsconfig.json rename to integration/helpers/vite-5-template/tsconfig.json diff --git a/integration/helpers/vite-template/vite.config.ts b/integration/helpers/vite-5-template/vite.config.ts similarity index 100% rename from integration/helpers/vite-template/vite.config.ts rename to integration/helpers/vite-5-template/vite.config.ts diff --git a/integration/helpers/vite-6-template/.gitignore b/integration/helpers/vite-6-template/.gitignore new file mode 100644 index 00000000000..80ec311f4ff --- /dev/null +++ b/integration/helpers/vite-6-template/.gitignore @@ -0,0 +1,5 @@ +node_modules + +/.cache +/build +.env diff --git a/integration/helpers/vite-6-template/app/root.tsx b/integration/helpers/vite-6-template/app/root.tsx new file mode 100644 index 00000000000..e31409ca31d --- /dev/null +++ b/integration/helpers/vite-6-template/app/root.tsx @@ -0,0 +1,25 @@ +import { + Links, + Meta, + Outlet, + Scripts, + ScrollRestoration, +} from "@remix-run/react"; + +export default function App() { + return ( + + + + + + + + + + + + + + ); +} diff --git a/integration/helpers/vite-6-template/app/routes/_index.tsx b/integration/helpers/vite-6-template/app/routes/_index.tsx new file mode 100644 index 00000000000..5347369230e --- /dev/null +++ b/integration/helpers/vite-6-template/app/routes/_index.tsx @@ -0,0 +1,41 @@ +import type { MetaFunction } from "@remix-run/node"; + +export const meta: MetaFunction = () => { + return [ + { title: "New Remix App" }, + { name: "description", content: "Welcome to Remix!" }, + ]; +}; + +export default function Index() { + return ( + + ); +} diff --git a/integration/helpers/vite-6-template/env.d.ts b/integration/helpers/vite-6-template/env.d.ts new file mode 100644 index 00000000000..78ed2345c6e --- /dev/null +++ b/integration/helpers/vite-6-template/env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/integration/helpers/vite-template/package.json b/integration/helpers/vite-6-template/package.json similarity index 94% rename from integration/helpers/vite-template/package.json rename to integration/helpers/vite-6-template/package.json index b2b9b38c7cd..474546dbc3d 100644 --- a/integration/helpers/vite-template/package.json +++ b/integration/helpers/vite-6-template/package.json @@ -1,5 +1,5 @@ { - "name": "integration-vite-template", + "name": "integration-vite-6-template", "version": "0.0.0", "private": true, "sideEffects": false, @@ -31,7 +31,7 @@ "@types/react-dom": "^18.2.7", "eslint": "^8.38.0", "typescript": "^5.1.6", - "vite": "5.1.8", + "vite": "^6.0.0", "vite-env-only": "^2.0.0", "vite-tsconfig-paths": "^4.2.1", "wrangler": "^3.24.0" diff --git a/integration/helpers/vite-6-template/public/favicon.ico b/integration/helpers/vite-6-template/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..8830cf6821b354114848e6354889b8ecf6d2bc61 GIT binary patch literal 16958 zcmeI3+jCXb9mnJN2h^uNlXH@jlam{_a8F3W{T}Wih>9YJpaf7TUbu)A5fv|h7OMfR zR;q$lr&D!wv|c)`wcw1?>4QT1(&|jdsrI2h`Rn)dTW5t$8pz=s3_5L?#oBxAowe8R z_WfPfN?F+@`q$D@rvC?(W!uWieppskmQ~YG*>*L?{img@tWpnYXZslxeh#TSUS3{q z1Ju6JcfQSbQuORq69@YK(X-3c9vC2c2a2z~zw=F=50@pm0PUiCAm!bAT?2jpM`(^b zC|2&Ngngt^<>oCv#?P(AZ`5_84x#QBPulix)TpkIAUp=(KgGo4CVS~Sxt zVoR4>r5g9%bDh7hi0|v$={zr>CHd`?-l4^Ld(Z9PNz9piFY+llUw_x4ou7Vf-q%$g z)&)J4>6Ft~RZ(uV>dJD|`nxI1^x{X@Z5S<=vf;V3w_(*O-7}W<=e$=}CB9_R;)m9)d7`d_xx+nl^Bg|%ew=?uoKO8w zeQU7h;~8s!@9-k>7Cx}1SDQ7m(&miH zs8!l*wOJ!GHbdh)pD--&W3+w`9YJ=;m^FtMY=`mTq8pyV!-@L6smwp3(q?G>=_4v^ zn(ikLue7!y70#2uhqUVpb7fp!=xu2{aM^1P^pts#+feZv8d~)2sf`sjXLQCEj;pdI z%~f`JOO;*KnziMv^i_6+?mL?^wrE_&=IT9o1i!}Sd4Sx4O@w~1bi1)8(sXvYR-1?7~Zr<=SJ1Cw!i~yfi=4h6o3O~(-Sb2Ilwq%g$+V` z>(C&N1!FV5rWF&iwt8~b)=jIn4b!XbrWrZgIHTISrdHcpjjx=TwJXI7_%Ks4oFLl9 zNT;!%!P4~xH85njXdfqgnIxIFOOKW`W$fxU%{{5wZkVF^G=JB$oUNU5dQSL&ZnR1s z*ckJ$R`eCUJsWL>j6*+|2S1TL_J|Fl&kt=~XZF=+=iT0Xq1*KU-NuH%NAQff$LJp3 zU_*a;@7I0K{mqwux87~vwsp<}@P>KNDb}3U+6$rcZ114|QTMUSk+rhPA(b{$>pQTc zIQri{+U>GMzsCy0Mo4BfWXJlkk;RhfpWpAB{=Rtr*d1MNC+H3Oi5+3D$gUI&AjV-1 z=0ZOox+bGyHe=yk-yu%=+{~&46C$ut^ZN+ysx$NH}*F43)3bKkMsxGyIl#>7Yb8W zO{}&LUO8Ow{7>!bvSq?X{15&Y|4}0w2=o_^0ZzYgB+4HhZ4>s*mW&?RQ6&AY|CPcx z$*LjftNS|H)ePYnIKNg{ck*|y7EJ&Co0ho0K`!{ENPkASeKy-JWE}dF_%}j)Z5a&q zXAI2gPu6`s-@baW=*+keiE$ALIs5G6_X_6kgKK8n3jH2-H9`6bo)Qn1 zZ2x)xPt1=`9V|bE4*;j9$X20+xQCc$rEK|9OwH-O+Q*k`ZNw}K##SkY z3u}aCV%V|j@!gL5(*5fuWo>JFjeU9Qqk`$bdwH8(qZovE2tA7WUpoCE=VKm^eZ|vZ z(k<+j*mGJVah>8CkAsMD6#I$RtF;#57Wi`c_^k5?+KCmX$;Ky2*6|Q^bJ8+s%2MB}OH-g$Ev^ zO3uqfGjuN%CZiu<`aCuKCh{kK!dDZ+CcwgIeU2dsDfz+V>V3BDb~)~ zO!2l!_)m;ZepR~sL+-~sHS7;5ZB|~uUM&&5vDda2b z)CW8S6GI*oF><|ZeY5D^+Mcsri)!tmrM33qvwI4r9o@(GlW!u2R>>sB|E#%W`c*@5 z|0iA|`{6aA7D4Q?vc1{vT-#yytn07`H!QIO^1+X7?zG3%y0gPdIPUJ#s*DNAwd}m1_IMN1^T&be~+E z_z%1W^9~dl|Me9U6+3oNyuMDkF*z_;dOG(Baa*yq;TRiw{EO~O_S6>e*L(+Cdu(TM z@o%xTCV%hi&p)x3_inIF!b|W4|AF5p?y1j)cr9RG@v%QVaN8&LaorC-kJz_ExfVHB za!mtuee#Vb?dh&bwrfGHYAiX&&|v$}U*UBM;#F!N=x>x|G5s0zOa9{(`=k4v^6iK3 z8d&=O@xhDs{;v7JQ%eO;!Bt`&*MH&d zp^K#dkq;jnJz%%bsqwlaKA5?fy zS5JDbO#BgSAdi8NM zDo2SifX6^Z;vn>cBh-?~r_n9qYvP|3ihrnqq6deS-#>l#dV4mX|G%L8|EL;$U+w69 z;rTK3FW$ewUfH|R-Z;3;jvpfiDm?Fvyu9PeR>wi|E8>&j2Z@2h`U}|$>2d`BPV3pz#ViIzH8v6pP^L-p!GbLv<;(p>}_6u&E6XO5- zJ8JEvJ1)0>{iSd|kOQn#?0rTYL=KSmgMHCf$Qbm;7|8d(goD&T-~oCDuZf57iP#_Y zmxaoOSjQsm*^u+m$L9AMqwi=6bpdiAY6k3akjGN{xOZ`_J<~Puyzpi7yhhKrLmXV; z@ftONPy;Uw1F#{_fyGbk04yLE01v=i_5`RqQP+SUH0nb=O?l!J)qCSTdsbmjFJrTm zx4^ef@qt{B+TV_OHOhtR?XT}1Etm(f21;#qyyW6FpnM+S7*M1iME?9fe8d-`Q#InN z?^y{C_|8bxgUE@!o+Z72C)BrS&5D`gb-X8kq*1G7Uld-z19V}HY~mK#!o9MC-*#^+ znEsdc-|jj0+%cgBMy(cEkq4IQ1D*b;17Lyp>Utnsz%LRTfjQKL*vo(yJxwtw^)l|! z7jhIDdtLB}mpkOIG&4@F+9cYkS5r%%jz}I0R#F4oBMf-|Jmmk* zk^OEzF%}%5{a~kGYbFjV1n>HKC+a`;&-n*v_kD2DPP~n5(QE3C;30L<32GB*qV2z$ zWR1Kh=^1-q)P37WS6YWKlUSDe=eD^u_CV+P)q!3^{=$#b^auGS7m8zFfFS<>(e~)TG z&uwWhSoetoe!1^%)O}=6{SUcw-UQmw+i8lokRASPsbT=H|4D|( zk^P7>TUEFho!3qXSWn$m2{lHXw zD>eN6-;wwq9(?@f^F4L2Ny5_6!d~iiA^s~(|B*lbZir-$&%)l>%Q(36yOIAu|326K ztmBWz|MLA{Kj(H_{w2gd*nZ6a@ma(w==~EHIscEk|C=NGJa%Ruh4_+~f|%rt{I5v* zIX@F?|KJID56-ivb+PLo(9hn_CdK{irOcL15>JNQFY112^$+}JPyI{uQ~$&E*=ri; z`d^fH?4f=8vKHT4!p9O*fX(brB75Y9?e>T9=X#Fc@V#%@5^)~#zu5I(=>LQA-EGTS zecy*#6gG+8lapch#Hh%vl(+}J;Q!hC1OKoo;#h3#V%5Js)tQ)|>pTT@1ojd+F9Gey zg`B)zm`|Mo%tH31s4=<+`Pu|B3orXwNyIcNN>;fBkIj^X8P}RXhF= zXQK1u5RLN7k#_Q(KznJrALtMM13!vhfr025ar?@-%{l|uWt@NEd<$~n>RQL{ z+o;->n)+~0tt(u|o_9h!T`%M8%)w2awpV9b*xz9Pl-daUJm3y-HT%xg`^mFd6LBeL z!0~s;zEr)Bn9x)I(wx`;JVwvRcc^io2XX(Nn3vr3dgbrr@YJ?K3w18P*52^ieBCQP z=Up1V$N2~5ppJHRTeY8QfM(7Yv&RG7oWJAyv?c3g(29)P)u;_o&w|&)HGDIinXT~p z3;S|e$=&Tek9Wn!`cdY+d-w@o`37}x{(hl>ykB|%9yB$CGdIcl7Z?d&lJ%}QHck77 zJPR%C+s2w1_Dl_pxu6$Zi!`HmoD-%7OD@7%lKLL^Ixd9VlRSW*o&$^iQ2z+}hTgH) z#91TO#+jH<`w4L}XWOt(`gqM*uTUcky`O(mEyU|4dJoy6*UZJ7%*}ajuos%~>&P2j zk23f5<@GeV?(?`l=ih+D8t`d72xrUjv0wsg;%s1@*2p?TQ;n2$pV7h?_T%sL>iL@w zZ{lmc<|B7!e&o!zs6RW+u8+aDyUdG>ZS(v&rT$QVymB7sEC@VsK1dg^3F@K90-wYB zX!we79qx`(6LA>F$~{{xE8-3Wzyfe`+Lsce(?uj{k@lb97YTJt#>l*Z&LyKX@zjmu?UJC9w~;|NsB{%7G}y*uNDBxirfC EKbET!0{{R3 literal 0 HcmV?d00001 diff --git a/integration/helpers/vite-6-template/tsconfig.json b/integration/helpers/vite-6-template/tsconfig.json new file mode 100644 index 00000000000..ad5ae05598e --- /dev/null +++ b/integration/helpers/vite-6-template/tsconfig.json @@ -0,0 +1,21 @@ +{ + "include": ["env.d.ts", "**/*.ts", "**/*.tsx"], + "compilerOptions": { + "lib": ["DOM", "DOM.Iterable", "ES2022"], + "isolatedModules": true, + "esModuleInterop": true, + "jsx": "react-jsx", + "module": "ESNext", + "moduleResolution": "Bundler", + "resolveJsonModule": true, + "target": "ES2022", + "strict": true, + "allowJs": true, + "forceConsistentCasingInFileNames": true, + "baseUrl": ".", + "paths": { + "~/*": ["./app/*"] + }, + "noEmit": true + } +} diff --git a/integration/helpers/vite-6-template/vite.config.ts b/integration/helpers/vite-6-template/vite.config.ts new file mode 100644 index 00000000000..a1fcb5a7b79 --- /dev/null +++ b/integration/helpers/vite-6-template/vite.config.ts @@ -0,0 +1,7 @@ +import { vitePlugin as remix } from "@remix-run/dev"; +import { defineConfig } from "vite"; +import tsconfigPaths from "vite-tsconfig-paths"; + +export default defineConfig({ + plugins: [remix(), tsconfigPaths()], +}); diff --git a/integration/helpers/vite-cloudflare-template/package.json b/integration/helpers/vite-cloudflare-template/package.json index 828fc7a4bb3..b4ed6b2b496 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.15.3", - "@remix-run/cloudflare-pages": "2.15.3", - "@remix-run/react": "2.15.3", + "@remix-run/cloudflare": "workspace:*", + "@remix-run/cloudflare-pages": "workspace:*", + "@remix-run/react": "workspace:*", "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.8", + "vite": "^6.0.0", "vite-tsconfig-paths": "^4.2.1", "wrangler": "^3.24.0" }, diff --git a/integration/helpers/vite.ts b/integration/helpers/vite.ts index cf6cc609dbf..94e83671684 100644 --- a/integration/helpers/vite.ts +++ b/integration/helpers/vite.ts @@ -1,5 +1,5 @@ import { spawn, spawnSync, type ChildProcess } from "node:child_process"; -import path from "node:path"; +import path from "pathe"; import fs from "node:fs/promises"; import type { Readable } from "node:stream"; import url from "node:url"; @@ -96,11 +96,22 @@ export const EXPRESS_SERVER = (args: { app.listen(port, () => console.log('http://localhost:' + port)); `; -type TemplateName = "vite-template" | "vite-cloudflare-template"; +type TemplateName = + | "vite-5-template" + | "vite-6-template" + | "vite-cloudflare-template"; + +export const viteMajorTemplates = [ + { templateName: "vite-5-template", templateDisplayName: "Vite 5" }, + { templateName: "vite-6-template", templateDisplayName: "Vite 6" }, +] as const satisfies ReadonlyArray<{ + templateName: TemplateName; + templateDisplayName: string; +}>; export async function createProject( files: Record = {}, - templateName: TemplateName = "vite-template" + templateName: TemplateName = "vite-5-template" ) { let projectName = `remix-${Math.random().toString(32).slice(2)}`; let projectDir = path.join(TMP_DIR, projectName); @@ -246,7 +257,10 @@ type Fixtures = { port: number; cwd: string; }>; - customDev: (files: Files) => Promise<{ + customDev: ( + files: Files, + templateName?: TemplateName + ) => Promise<{ port: number; cwd: string; }>; @@ -280,7 +294,7 @@ export const test = base.extend({ // eslint-disable-next-line no-empty-pattern customDev: async ({}, use) => { let stop: (() => unknown) | undefined; - await use(async (files) => { + await use(async (files, template) => { let port = await getPort(); let cwd = await createProject(await files({ port })); stop = await customDev({ cwd, port }); diff --git a/integration/package.json b/integration/package.json index e7aa76a6a90..3ce5893b229 100644 --- a/integration/package.json +++ b/integration/package.json @@ -30,6 +30,7 @@ "globby": "^11.1.0", "isbot": "^4.1.0", "npm-run-all": "^4.1.5", + "pathe": "^1.1.2", "pidtree": "^0.6.0", "postcss": "^8.4.19", "postcss-import": "^15.1.0", diff --git a/integration/vite-css-test.ts b/integration/vite-css-test.ts index 77bc5ccc2f6..7f522ebcdb4 100644 --- a/integration/vite-css-test.ts +++ b/integration/vite-css-test.ts @@ -12,6 +12,7 @@ import { customDev, EXPRESS_SERVER, viteConfig, + viteMajorTemplates, } from "./helpers/vite.js"; const js = String.raw; @@ -171,111 +172,127 @@ const VITE_CONFIG = async (port: number) => dedent` } `; -test.describe(() => { - test.describe(async () => { - let port: number; - let cwd: string; - let stop: () => void; - - test.beforeAll(async () => { - port = await getPort(); - cwd = await createProject({ - "vite.config.ts": await VITE_CONFIG(port), - ...files, +test.describe("Vite CSS", () => { + viteMajorTemplates.forEach(({ templateName, templateDisplayName }) => { + test.describe(templateDisplayName, () => { + test.describe("vite dev", async () => { + let port: number; + let cwd: string; + let stop: () => void; + + test.beforeAll(async () => { + port = await getPort(); + cwd = await createProject( + { + "vite.config.ts": await VITE_CONFIG(port), + ...files, + }, + templateName + ); + stop = await viteDev({ cwd, port }); + }); + test.afterAll(() => stop()); + + test.describe(() => { + test.use({ javaScriptEnabled: false }); + test("without JS", async ({ page }) => { + await pageLoadWorkflow({ page, port }); + }); + }); + + test.describe(() => { + test.use({ javaScriptEnabled: true }); + test("with JS", async ({ page }) => { + await pageLoadWorkflow({ page, port }); + await hmrWorkflow({ page, port, cwd }); + }); + }); }); - stop = await viteDev({ cwd, port }); - }); - test.afterAll(() => stop()); - - test.describe(() => { - test.use({ javaScriptEnabled: false }); - test("Vite / CSS / vite dev / without JS", async ({ page }) => { - await pageLoadWorkflow({ page, port }); - }); - }); - - test.describe(() => { - test.use({ javaScriptEnabled: true }); - test("Vite / CSS / vite dev / with JS", async ({ page }) => { - await pageLoadWorkflow({ page, port }); - await hmrWorkflow({ page, port, cwd }); - }); - }); - }); - - test.describe(async () => { - let port: number; - let cwd: string; - let stop: () => void; - - test.beforeAll(async () => { - port = await getPort(); - cwd = await createProject({ - "vite.config.ts": await VITE_CONFIG(port), - "server.mjs": EXPRESS_SERVER({ port }), - ...files, - }); - stop = await customDev({ cwd, port }); - }); - test.afterAll(() => stop()); - - test.describe(() => { - test.use({ javaScriptEnabled: false }); - test("Vite / CSS / express / without JS", async ({ page }) => { - await pageLoadWorkflow({ page, port }); - }); - }); - test.describe(() => { - test.use({ javaScriptEnabled: true }); - test("Vite / CSS / express / with JS", async ({ page }) => { - await pageLoadWorkflow({ page, port }); - await hmrWorkflow({ page, port, cwd }); + test.describe("express", async () => { + let port: number; + let cwd: string; + let stop: () => void; + + test.beforeAll(async () => { + port = await getPort(); + cwd = await createProject( + { + "vite.config.ts": await VITE_CONFIG(port), + "server.mjs": EXPRESS_SERVER({ port }), + ...files, + }, + templateName + ); + stop = await customDev({ cwd, port }); + }); + test.afterAll(() => stop()); + + test.describe(() => { + test.use({ javaScriptEnabled: false }); + test("without JS", async ({ page }) => { + await pageLoadWorkflow({ page, port }); + }); + }); + + test.describe(() => { + test.use({ javaScriptEnabled: true }); + test("with JS", async ({ page }) => { + await pageLoadWorkflow({ page, port }); + await hmrWorkflow({ page, port, cwd }); + }); + }); }); - }); - }); - - test.describe(async () => { - let port: number; - let cwd: string; - let stop: () => void; - - test.beforeAll(async () => { - port = await getPort(); - cwd = await createProject({ - "vite.config.ts": await VITE_CONFIG(port), - ...files, - }); - - let edit = createEditor(cwd); - await edit("package.json", (contents) => - contents.replace('"sideEffects": false', '"sideEffects": ["*.css.ts"]') - ); - - let { stderr, status } = viteBuild({ - cwd, - env: { - // Vanilla Extract uses Vite's CJS build which emits a warning to stderr - VITE_CJS_IGNORE_WARNING: "true", - }, - }); - expect(stderr.toString()).toBeFalsy(); - expect(status).toBe(0); - stop = await viteRemixServe({ cwd, port }); - }); - test.afterAll(() => stop()); - - test.describe(() => { - test.use({ javaScriptEnabled: false }); - test("Vite / CSS / vite build / without JS", async ({ page }) => { - await pageLoadWorkflow({ page, port }); - }); - }); - test.describe(() => { - test.use({ javaScriptEnabled: true }); - test("Vite / CSS / vite build / with JS", async ({ page }) => { - await pageLoadWorkflow({ page, port }); + test.describe("vite build", async () => { + let port: number; + let cwd: string; + let stop: () => void; + + test.beforeAll(async () => { + port = await getPort(); + cwd = await createProject( + { + "vite.config.ts": await VITE_CONFIG(port), + ...files, + }, + templateName + ); + + let edit = createEditor(cwd); + await edit("package.json", (contents) => + contents.replace( + '"sideEffects": false', + '"sideEffects": ["*.css.ts"]' + ) + ); + + let { stderr, status } = viteBuild({ + cwd, + env: { + // Vanilla Extract uses Vite's CJS build which emits a warning to stderr + VITE_CJS_IGNORE_WARNING: "true", + }, + }); + expect(stderr.toString()).toBeFalsy(); + expect(status).toBe(0); + stop = await viteRemixServe({ cwd, port }); + }); + test.afterAll(() => stop()); + + test.describe(() => { + test.use({ javaScriptEnabled: false }); + test("without JS", async ({ page }) => { + await pageLoadWorkflow({ page, port }); + }); + }); + + test.describe(() => { + test.use({ javaScriptEnabled: true }); + test("with JS", async ({ page }) => { + await pageLoadWorkflow({ page, port }); + }); + }); }); }); }); diff --git a/integration/vite-hmr-hdr-test.ts b/integration/vite-hmr-hdr-test.ts index aca542c36d7..19ef3622567 100644 --- a/integration/vite-hmr-hdr-test.ts +++ b/integration/vite-hmr-hdr-test.ts @@ -9,6 +9,7 @@ import { createEditor, EXPRESS_SERVER, viteConfig, + viteMajorTemplates, } from "./helpers/vite.js"; import { js } from "./helpers/create-fixture.js"; @@ -39,132 +40,130 @@ const indexRoute = ` } `; -test("Vite / HMR & HDR / vite dev", async ({ page, browserName, viteDev }) => { - let files: Files = async ({ port }) => ({ - "vite.config.js": await viteConfig.basic({ port }), - "app/routes/_index.tsx": indexRoute, - }); - let { cwd, port } = await viteDev(files); - await workflow({ page, browserName, cwd, port }); -}); - -test("Vite / HMR & HDR / express", async ({ page, browserName, customDev }) => { - let files: Files = async ({ port }) => ({ - "vite.config.js": await viteConfig.basic({ port }), - "server.mjs": EXPRESS_SERVER({ port }), - "app/routes/_index.tsx": indexRoute, - }); - let { cwd, port } = await customDev(files); - await workflow({ page, browserName, cwd, port }); -}); - -test("Vite / HMR & HDR / mdx", async ({ page, viteDev }) => { - let files: Files = async ({ port }) => ({ - "vite.config.ts": ` - import { defineConfig } from "vite"; - import { vitePlugin as remix } from "@remix-run/dev"; - import mdx from "@mdx-js/rollup"; - - export default defineConfig({ - ${await viteConfig.server({ port })} - plugins: [ - mdx(), - remix(), - ], +test.describe("Vite HMR & HDR", () => { + viteMajorTemplates.forEach(({ templateName, templateDisplayName }) => { + test.describe(templateDisplayName, () => { + test("vite dev", async ({ page, browserName, viteDev }) => { + let files: Files = async ({ port }) => ({ + "vite.config.js": await viteConfig.basic({ port }), + "app/routes/_index.tsx": indexRoute, + }); + let { cwd, port } = await viteDev(files, templateName); + await workflow({ page, browserName, cwd, port }); }); - `, - "app/component.tsx": ` - import {useState} from "react"; - export const Counter = () => { - const [count, setCount] = useState(0); - return - } - `, - "app/routes/mdx.mdx": ` - import { Counter } from "../component"; - - # MDX Title (HMR: 0) - - - `, - }); - - let { port, cwd } = await viteDev(files); - let edit = createEditor(cwd); - await page.goto(`http://localhost:${port}/mdx`, { - waitUntil: "networkidle", - }); - - await expect(page.locator("h1")).toHaveText("MDX Title (HMR: 0)"); - let button = page.locator("button"); - await expect(button).toHaveText("Count: 0"); - await button.click(); - await expect(button).toHaveText("Count: 1"); - - await edit("app/routes/mdx.mdx", (contents) => - contents.replace("(HMR: 0)", "(HMR: 1)") - ); - await page.waitForLoadState("networkidle"); - - await expect(page.locator("h1")).toHaveText("MDX Title (HMR: 1)"); - await expect(page.locator("button")).toHaveText("Count: 1"); - - expect(page.errors).toEqual([]); -}); + test("express", async ({ page, browserName, customDev }) => { + let files: Files = async ({ port }) => ({ + "vite.config.js": await viteConfig.basic({ port }), + "server.mjs": EXPRESS_SERVER({ port }), + "app/routes/_index.tsx": indexRoute, + }); + let { cwd, port } = await customDev(files, templateName); + await workflow({ page, browserName, cwd, port }); + }); -test.describe("single fetch", () => { - test("Vite / HMR & HDR / vite dev", async ({ - page, - browserName, - viteDev, - }) => { - let files: Files = async ({ port }) => ({ - "vite.config.js": js` - import { vitePlugin as remix } from "@remix-run/dev"; - - export default { - ${await viteConfig.server({ port })} - plugins: [ - remix({ - future: { - v3_singleFetch: true - }, - }) - ] - } - `, - "app/routes/_index.tsx": indexRoute, - }); - let { cwd, port } = await viteDev(files); - await workflow({ page, browserName, cwd, port }); - }); + test("mdx", async ({ page, viteDev }) => { + let files: Files = async ({ port }) => ({ + "vite.config.ts": ` + import { defineConfig } from "vite"; + import { vitePlugin as remix } from "@remix-run/dev"; + import mdx from "@mdx-js/rollup"; + + export default defineConfig({ + ${await viteConfig.server({ port })} + plugins: [ + mdx(), + remix(), + ], + }); + `, + "app/component.tsx": ` + import {useState} from "react"; + + export const Counter = () => { + const [count, setCount] = useState(0); + return + } + `, + "app/routes/mdx.mdx": ` + import { Counter } from "../component"; + + # MDX Title (HMR: 0) + + + `, + }); + + let { port, cwd } = await viteDev(files, templateName); + let edit = createEditor(cwd); + await page.goto(`http://localhost:${port}/mdx`, { + waitUntil: "networkidle", + }); + + await expect(page.locator("h1")).toHaveText("MDX Title (HMR: 0)"); + let button = page.locator("button"); + await expect(button).toHaveText("Count: 0"); + await button.click(); + await expect(button).toHaveText("Count: 1"); + + await edit("app/routes/mdx.mdx", (contents) => + contents.replace("(HMR: 0)", "(HMR: 1)") + ); + await page.waitForLoadState("networkidle"); + + await expect(page.locator("h1")).toHaveText("MDX Title (HMR: 1)"); + await expect(page.locator("button")).toHaveText("Count: 1"); + + expect(page.errors).toEqual([]); + }); - test("Vite / HMR & HDR / express", async ({ - page, - browserName, - customDev, - }) => { - let files: Files = async ({ port }) => ({ - "vite.config.js": js` - import { vitePlugin as remix } from "@remix-run/dev"; - - export default { - ${await viteConfig.server({ port })} - plugins: [ - remix({ - future: { - v3_singleFetch: true - }, - }) - ] - } - `, - "server.mjs": EXPRESS_SERVER({ port }), - "app/routes/_index.tsx": indexRoute, + test.describe("single fetch", () => { + test("vite dev", async ({ page, browserName, viteDev }) => { + let files: Files = async ({ port }) => ({ + "vite.config.js": js` + import { vitePlugin as remix } from "@remix-run/dev"; + + export default { + ${await viteConfig.server({ port })} + plugins: [ + remix({ + future: { + v3_singleFetch: true + }, + }) + ] + } + `, + "app/routes/_index.tsx": indexRoute, + }); + let { cwd, port } = await viteDev(files, templateName); + await workflow({ page, browserName, cwd, port }); + }); + + test("express", async ({ page, browserName, customDev }) => { + let files: Files = async ({ port }) => ({ + "vite.config.js": js` + import { vitePlugin as remix } from "@remix-run/dev"; + + export default { + ${await viteConfig.server({ port })} + plugins: [ + remix({ + future: { + v3_singleFetch: true + }, + }) + ] + } + `, + "server.mjs": EXPRESS_SERVER({ port }), + "app/routes/_index.tsx": indexRoute, + }); + let { cwd, port } = await customDev(files, templateName); + await workflow({ page, browserName, cwd, port }); + }); + }); }); - let { cwd, port } = await customDev(files); - await workflow({ page, browserName, cwd, port }); }); }); diff --git a/integration/vite-route-config-test.ts b/integration/vite-route-config-test.ts index daf2e1a25be..258ef08bc67 100644 --- a/integration/vite-route-config-test.ts +++ b/integration/vite-route-config-test.ts @@ -9,6 +9,7 @@ import { test, viteConfig, createEditor, + viteMajorTemplates, } from "./helpers/vite.js"; const js = String.raw; @@ -36,53 +37,61 @@ async function reloadPage({ } test.describe("route config", () => { - test("fails the build if route config is missing", async () => { - let cwd = await createProject({ - "vite.config.js": ` - import { vitePlugin as remix } from "@remix-run/dev"; - - export default { - plugins: [remix({ - future: { v3_routeConfig: true }, - })] - } - `, - }); - // Ensure file is missing in case it's ever added to test fixture - await fs.rm(path.join(cwd, "app/routes.ts"), { force: true }); - let buildResult = viteBuild({ cwd }); - expect(buildResult.status).toBe(1); - expect(buildResult.stderr.toString()).toContain( - 'Route config file not found at "app/routes.ts"' - ); - }); - - test("fails the build if routes option is used", async () => { - let cwd = await createProject({ - "vite.config.js": ` - import { vitePlugin as remix } from "@remix-run/dev"; - - export default { - plugins: [remix({ - future: { v3_routeConfig: true }, - routes: () => {}, - })] - } - `, - "app/routes.ts": `export default [];`, - }); - let buildResult = viteBuild({ cwd }); - expect(buildResult.status).toBe(1); - expect(buildResult.stderr.toString()).toContain( - 'The "routes" config option is not supported when a "routes.ts" file is present. You should migrate these routes into "routes.ts".' - ); - }); - - test("fails the dev process if routes option is used", async ({ - viteDev, - }) => { - let files: Files = async ({ port }) => ({ - "vite.config.js": ` + viteMajorTemplates.forEach(({ templateName, templateDisplayName }) => { + test.describe(templateDisplayName, () => { + test("fails the build if route config is missing", async () => { + let cwd = await createProject( + { + "vite.config.js": ` + import { vitePlugin as remix } from "@remix-run/dev"; + + export default { + plugins: [remix({ + future: { v3_routeConfig: true }, + })] + } + `, + }, + templateName + ); + // Ensure file is missing in case it's ever added to test fixture + await fs.rm(path.join(cwd, "app/routes.ts"), { force: true }); + let buildResult = viteBuild({ cwd }); + expect(buildResult.status).toBe(1); + expect(buildResult.stderr.toString()).toContain( + 'Route config file not found at "app/routes.ts"' + ); + }); + + test("fails the build if routes option is used", async () => { + let cwd = await createProject( + { + "vite.config.js": ` + import { vitePlugin as remix } from "@remix-run/dev"; + + export default { + plugins: [remix({ + future: { v3_routeConfig: true }, + routes: () => {}, + })] + } + `, + "app/routes.ts": `export default [];`, + }, + templateName + ); + let buildResult = viteBuild({ cwd }); + expect(buildResult.status).toBe(1); + expect(buildResult.stderr.toString()).toContain( + 'The "routes" config option is not supported when a "routes.ts" file is present. You should migrate these routes into "routes.ts".' + ); + }); + + test("fails the dev process if routes option is used", async ({ + viteDev, + }) => { + let files: Files = async ({ port }) => ({ + "vite.config.js": ` import { vitePlugin as remix } from "@remix-run/dev"; export default { @@ -93,280 +102,305 @@ test.describe("route config", () => { })] } `, - "app/routes.ts": `export default [];`, - }); - let devError: Error | undefined; - try { - await viteDev(files); - } catch (error: any) { - devError = error; - } - expect(devError?.toString()).toContain( - 'The "routes" config option is not supported when a "routes.ts" file is present. You should migrate these routes into "routes.ts".' - ); - }); - - test("fails the build if route config is invalid", async () => { - let cwd = await createProject({ - "vite.config.js": ` - import { vitePlugin as remix } from "@remix-run/dev"; - - export default { - plugins: [remix({ - future: { v3_routeConfig: true }, - })] - } - `, - "app/routes.ts": `export default INVALID(`, - }); - let buildResult = viteBuild({ cwd }); - expect(buildResult.status).toBe(1); - expect(buildResult.stderr.toString()).toContain( - 'Route config in "routes.ts" is invalid.' - ); - }); - - test("fails the dev process if route config is initially invalid", async ({ - viteDev, - }) => { - let files: Files = async ({ port }) => ({ - "vite.config.js": await viteConfig.basic({ - routeConfig: true, - port, - }), - "app/routes.ts": `export default INVALID(`, - }); - let devError: Error | undefined; - try { - await viteDev(files); - } catch (error: any) { - devError = error; - } - expect(devError?.toString()).toContain( - 'Route config in "routes.ts" is invalid.' - ); - }); - - test("supports correcting an invalid route config", async ({ - browserName, - page, - context, - viteDev, - }) => { - let files: Files = async ({ port }) => ({ - "vite.config.js": await viteConfig.basic({ - routeConfig: true, - port, - }), - "app/routes.ts": js` - import { type RouteConfig, index } from "@remix-run/route-config"; - - export default [ - index("test-route-1.tsx"), - ] satisfies RouteConfig; - `, - "app/test-route-1.tsx": ` - export default function TestRoute1() { - return
Test route 1
- } - `, - "app/test-route-2.tsx": ` - export default function TestRoute2() { - return
Test route 2
- } - `, - }); - let { cwd, port } = await viteDev(files); - - await page.goto(`http://localhost:${port}/`, { waitUntil: "networkidle" }); - await expect(page.locator("[data-test-route]")).toHaveText("Test route 1"); - - let edit = createEditor(cwd); - - // Make config invalid - await edit("app/routes.ts", (contents) => contents + "INVALID"); - - // Ensure dev server is still running with old config + HMR - await edit("app/test-route-1.tsx", (contents) => - contents.replace("Test route 1", "Test route 1 updated") - ); - await expect(page.locator("[data-test-route]")).toHaveText( - "Test route 1 updated" - ); - - // Fix config with new route - await edit("app/routes.ts", (contents) => - contents.replace("INVALID", "").replace("test-route-1", "test-route-2") - ); - - await expect(async () => { - // Reload to pick up new route for current path - page = await reloadPage({ browserName, page, context }); - await expect(page.locator("[data-test-route]")).toHaveText( - "Test route 2" - ); - }).toPass(); - }); - - test("supports correcting an invalid route config module graph", async ({ - page, - context, - browserName, - viteDev, - }) => { - let files: Files = async ({ port }) => ({ - "vite.config.js": await viteConfig.basic({ - routeConfig: true, - port, - }), - "app/routes.ts": js` - export { default } from "./actual-routes"; - `, - "app/actual-routes.ts": js` - import { type RouteConfig, index } from "@remix-run/route-config"; - - export default [ - index("test-route-1.tsx"), - ] satisfies RouteConfig; - `, - "app/test-route-1.tsx": ` - export default function TestRoute1() { - return
Test route 1
+ "app/routes.ts": `export default [];`, + }); + let devError: Error | undefined; + try { + await viteDev(files, templateName); + } catch (error: any) { + devError = error; } - `, - "app/test-route-2.tsx": ` - export default function TestRoute2() { - return
Test route 2
+ expect(devError?.toString()).toContain( + 'The "routes" config option is not supported when a "routes.ts" file is present. You should migrate these routes into "routes.ts".' + ); + }); + + test("fails the build if route config is invalid", async () => { + let cwd = await createProject( + { + "vite.config.js": ` + import { vitePlugin as remix } from "@remix-run/dev"; + + export default { + plugins: [remix({ + future: { v3_routeConfig: true }, + })] + } + `, + "app/routes.ts": `export default INVALID(`, + }, + templateName + ); + let buildResult = viteBuild({ cwd }); + expect(buildResult.status).toBe(1); + expect(buildResult.stderr.toString()).toContain( + 'Route config in "routes.ts" is invalid.' + ); + }); + + test("fails the dev process if route config is initially invalid", async ({ + viteDev, + }) => { + let files: Files = async ({ port }) => ({ + "vite.config.js": await viteConfig.basic({ + routeConfig: true, + port, + }), + "app/routes.ts": `export default INVALID(`, + }); + let devError: Error | undefined; + try { + await viteDev(files, templateName); + } catch (error: any) { + devError = error; } - `, - }); - let { cwd, port } = await viteDev(files); - - await page.goto(`http://localhost:${port}/`, { waitUntil: "networkidle" }); - await expect(page.locator("[data-test-route]")).toHaveText("Test route 1"); - - let edit = createEditor(cwd); - - // Make config invalid - await edit("app/actual-routes.ts", (contents) => contents + "INVALID"); - - // Ensure dev server is still running with old config + HMR - await edit("app/test-route-1.tsx", (contents) => - contents.replace("Test route 1", "Test route 1 updated") - ); - await expect(page.locator("[data-test-route]")).toHaveText( - "Test route 1 updated" - ); - - // Fix config with new route - await edit("app/actual-routes.ts", (contents) => - contents.replace("INVALID", "").replace("test-route-1", "test-route-2") - ); - - await expect(async () => { - // Reload to pick up new route for current path - page = await reloadPage({ browserName, page, context }); - await expect(page.locator("[data-test-route]")).toHaveText( - "Test route 2" - ); - }).toPass(); - }); - - test("supports correcting a missing route config", async ({ - browserName, - page, - context, - viteDev, - }) => { - let files: Files = async ({ port }) => ({ - "vite.config.js": await viteConfig.basic({ - routeConfig: true, - port, - }), - "app/routes.ts": js` + expect(devError?.toString()).toContain( + 'Route config in "routes.ts" is invalid.' + ); + }); + + test("supports correcting an invalid route config", async ({ + browserName, + page, + context, + viteDev, + }) => { + let files: Files = async ({ port }) => ({ + "vite.config.js": await viteConfig.basic({ + routeConfig: true, + port, + }), + "app/routes.ts": js` import { type RouteConfig, index } from "@remix-run/route-config"; export default [ index("test-route-1.tsx"), ] satisfies RouteConfig; `, - "app/test-route-1.tsx": ` - export default function TestRoute1() { - return
Test route 1
- } - `, - "app/test-route-2.tsx": ` - export default function TestRoute2() { - return
Test route 2
- } - `, - }); - let { cwd, port } = await viteDev(files); - - await page.goto(`http://localhost:${port}/`, { waitUntil: "networkidle" }); - await expect(page.locator("[data-test-route]")).toHaveText("Test route 1"); - - let edit = createEditor(cwd); - - let INVALID_FILENAME = "app/routes.ts.oops"; - - // Rename config to make it missing - await fs.rename( - path.join(cwd, "app/routes.ts"), - path.join(cwd, INVALID_FILENAME) - ); - - // Ensure dev server is still running with old config + HMR - await edit("app/test-route-1.tsx", (contents) => - contents.replace("Test route 1", "Test route 1 updated") - ); - await expect(page.locator("[data-test-route]")).toHaveText( - "Test route 1 updated" - ); - - // Add new route - await edit(INVALID_FILENAME, (contents) => - contents.replace("test-route-1", "test-route-2") - ); - - // Rename config to bring it back - await fs.rename( - path.join(cwd, INVALID_FILENAME), - path.join(cwd, "app/routes.ts") - ); - - await expect(async () => { - // Reload to pick up new route for current path - page = await reloadPage({ browserName, page, context }); - await expect(page.locator("[data-test-route]")).toHaveText( - "Test route 2" - ); - }).toPass(); - }); - - test("supports absolute route file paths", async ({ page, viteDev }) => { - let files: Files = async ({ port }) => ({ - "vite.config.js": await viteConfig.basic({ - routeConfig: true, - port, - }), - "app/routes.ts": js` - import path from "node:path"; - import { type RouteConfig, index } from "@remix-run/route-config"; - - export default [ - index(path.resolve(import.meta.dirname, "test-route.tsx")), - ] satisfies RouteConfig; - `, - "app/test-route.tsx": ` - export default function TestRoute() { - return
Test route
- } - `, + "app/test-route-1.tsx": ` + export default function TestRoute1() { + return
Test route 1
+ } + `, + "app/test-route-2.tsx": ` + export default function TestRoute2() { + return
Test route 2
+ } + `, + }); + let { cwd, port } = await viteDev(files, templateName); + + await page.goto(`http://localhost:${port}/`, { + waitUntil: "networkidle", + }); + await expect(page.locator("[data-test-route]")).toHaveText( + "Test route 1" + ); + + let edit = createEditor(cwd); + + // Make config invalid + await edit("app/routes.ts", (contents) => contents + "INVALID"); + + // Ensure dev server is still running with old config + HMR + await edit("app/test-route-1.tsx", (contents) => + contents.replace("Test route 1", "Test route 1 updated") + ); + await expect(page.locator("[data-test-route]")).toHaveText( + "Test route 1 updated" + ); + + // Fix config with new route + await edit("app/routes.ts", (contents) => + contents + .replace("INVALID", "") + .replace("test-route-1", "test-route-2") + ); + + await expect(async () => { + // Reload to pick up new route for current path + page = await reloadPage({ browserName, page, context }); + await expect(page.locator("[data-test-route]")).toHaveText( + "Test route 2" + ); + }).toPass(); + }); + + test("supports correcting an invalid route config module graph", async ({ + page, + context, + browserName, + viteDev, + }) => { + let files: Files = async ({ port }) => ({ + "vite.config.js": await viteConfig.basic({ + routeConfig: true, + port, + }), + "app/routes.ts": js` + export { default } from "./actual-routes"; + `, + "app/actual-routes.ts": js` + import { type RouteConfig, index } from "@remix-run/route-config"; + + export default [ + index("test-route-1.tsx"), + ] satisfies RouteConfig; + `, + "app/test-route-1.tsx": ` + export default function TestRoute1() { + return
Test route 1
+ } + `, + "app/test-route-2.tsx": ` + export default function TestRoute2() { + return
Test route 2
+ } + `, + }); + let { cwd, port } = await viteDev(files, templateName); + + await page.goto(`http://localhost:${port}/`, { + waitUntil: "networkidle", + }); + await expect(page.locator("[data-test-route]")).toHaveText( + "Test route 1" + ); + + let edit = createEditor(cwd); + + // Make config invalid + await edit("app/actual-routes.ts", (contents) => contents + "INVALID"); + + // Ensure dev server is still running with old config + HMR + await edit("app/test-route-1.tsx", (contents) => + contents.replace("Test route 1", "Test route 1 updated") + ); + await expect(page.locator("[data-test-route]")).toHaveText( + "Test route 1 updated" + ); + + // Fix config with new route + await edit("app/actual-routes.ts", (contents) => + contents + .replace("INVALID", "") + .replace("test-route-1", "test-route-2") + ); + + await expect(async () => { + // Reload to pick up new route for current path + page = await reloadPage({ browserName, page, context }); + await expect(page.locator("[data-test-route]")).toHaveText( + "Test route 2" + ); + }).toPass(); + }); + + test("supports correcting a missing route config", async ({ + browserName, + page, + context, + viteDev, + }) => { + let files: Files = async ({ port }) => ({ + "vite.config.js": await viteConfig.basic({ + routeConfig: true, + port, + }), + "app/routes.ts": js` + import { type RouteConfig, index } from "@remix-run/route-config"; + + export default [ + index("test-route-1.tsx"), + ] satisfies RouteConfig; + `, + "app/test-route-1.tsx": ` + export default function TestRoute1() { + return
Test route 1
+ } + `, + "app/test-route-2.tsx": ` + export default function TestRoute2() { + return
Test route 2
+ } + `, + }); + let { cwd, port } = await viteDev(files, templateName); + + await page.goto(`http://localhost:${port}/`, { + waitUntil: "networkidle", + }); + await expect(page.locator("[data-test-route]")).toHaveText( + "Test route 1" + ); + + let edit = createEditor(cwd); + + let INVALID_FILENAME = "app/routes.ts.oops"; + + // Rename config to make it missing + await fs.rename( + path.join(cwd, "app/routes.ts"), + path.join(cwd, INVALID_FILENAME) + ); + + // Ensure dev server is still running with old config + HMR + await edit("app/test-route-1.tsx", (contents) => + contents.replace("Test route 1", "Test route 1 updated") + ); + await expect(page.locator("[data-test-route]")).toHaveText( + "Test route 1 updated" + ); + + // Add new route + await edit(INVALID_FILENAME, (contents) => + contents.replace("test-route-1", "test-route-2") + ); + + // Rename config to bring it back + await fs.rename( + path.join(cwd, INVALID_FILENAME), + path.join(cwd, "app/routes.ts") + ); + + await expect(async () => { + // Reload to pick up new route for current path + page = await reloadPage({ browserName, page, context }); + await expect(page.locator("[data-test-route]")).toHaveText( + "Test route 2" + ); + }).toPass(); + }); + + test("supports absolute route file paths", async ({ page, viteDev }) => { + let files: Files = async ({ port }) => ({ + "vite.config.js": await viteConfig.basic({ + routeConfig: true, + port, + }), + "app/routes.ts": js` + import path from "node:path"; + import { type RouteConfig, index } from "@remix-run/route-config"; + + export default [ + index(path.resolve(import.meta.dirname, "test-route.tsx")), + ] satisfies RouteConfig; + `, + "app/test-route.tsx": ` + export default function TestRoute() { + return
Test route
+ } + `, + }); + let { port } = await viteDev(files, templateName); + + await page.goto(`http://localhost:${port}/`, { + waitUntil: "networkidle", + }); + await expect(page.locator("[data-test-route]")).toHaveText( + "Test route" + ); + }); }); - let { port } = await viteDev(files); - - await page.goto(`http://localhost:${port}/`, { waitUntil: "networkidle" }); - await expect(page.locator("[data-test-route]")).toHaveText("Test route"); }); }); diff --git a/package.json b/package.json index 5ea28c0e89f..2a0afe76882 100644 --- a/package.json +++ b/package.json @@ -129,7 +129,7 @@ "unified": "^10.1.2", "unist-util-remove": "^3.1.0", "unist-util-visit": "^4.1.1", - "vite": "5.1.8", + "vite": "^6.0.0", "vite-tsconfig-paths": "^4.2.2", "wait-on": "^7.0.1", "wrangler": "^3.72.3" diff --git a/packages/remix-dev/__tests__/cli-test.ts b/packages/remix-dev/__tests__/cli-test.ts index 02ccfe66246..dbd8c77e6af 100644 --- a/packages/remix-dev/__tests__/cli-test.ts +++ b/packages/remix-dev/__tests__/cli-test.ts @@ -1,5 +1,4 @@ import childProcess from "node:child_process"; -import os from "node:os"; import path from "node:path"; import util from "node:util"; import fse from "fs-extra"; @@ -8,7 +7,7 @@ import semver from "semver"; let execFile = util.promisify(childProcess.execFile); const TEMP_DIR = path.join( - fse.realpathSync(os.tmpdir()), + path.join(__dirname, ".tmp"), `remix-tests-${Math.random().toString(32).slice(2)}` ); diff --git a/packages/remix-dev/package.json b/packages/remix-dev/package.json index 9a866ca4dd5..872be3e0dce 100644 --- a/packages/remix-dev/package.json +++ b/packages/remix-dev/package.json @@ -57,6 +57,7 @@ "lodash.debounce": "^4.0.8", "minimatch": "^9.0.0", "ora": "^5.4.1", + "pathe": "^1.1.2", "picocolors": "^1.0.0", "picomatch": "^2.3.1", "pidtree": "^0.6.0", @@ -74,12 +75,13 @@ "tar-fs": "^2.1.1", "tsconfig-paths": "^4.0.0", "valibot": "^0.41.0", - "vite-node": "^1.6.0", + "vite-node": "3.0.0-beta.2", "ws": "^7.5.10" }, "devDependencies": { "@remix-run/cloudflare": "workspace:*", "@remix-run/deno": "workspace:*", + "@remix-run/react": "workspace:*", "@remix-run/serve": "workspace:*", "@remix-run/testing": "workspace:*", "@types/babel__core": "^7.20.5", @@ -104,14 +106,13 @@ "msw": "^1.2.3", "strip-ansi": "^6.0.1", "tiny-invariant": "^1.2.0", - "vite": "5.1.8", "wrangler": "^3.28.2" }, "peerDependencies": { "@remix-run/react": "^2.15.3", "@remix-run/serve": "^2.15.3", "typescript": "^5.1.0", - "vite": "^5.1.0", + "vite": "^5.1.0 || ^6.0.0", "wrangler": "^3.28.2" }, "peerDependenciesMeta": { diff --git a/packages/remix-dev/vite/build.ts b/packages/remix-dev/vite/build.ts index e42ad634d81..fd26b254d45 100644 --- a/packages/remix-dev/vite/build.ts +++ b/packages/remix-dev/vite/build.ts @@ -15,7 +15,7 @@ import { } from "./plugin"; import type { RouteManifestEntry, RouteManifest } from "../config/routes"; import invariant from "../invariant"; -import { preloadViteEsm } from "./import-vite-esm-sync"; +import { preloadVite, getVite } from "./vite"; function getAddressableRoutes(routes: RouteManifest): RouteManifestEntry[] { let nonAddressableIds = new Set(); @@ -242,8 +242,8 @@ export async function build( }: ViteBuildOptions ) { // Ensure Vite's ESM build is preloaded at the start of the process - // so it can be accessed synchronously via `importViteEsmSync` - await preloadViteEsm(); + // so it can be accessed synchronously via `getVite` + await preloadVite(); let viteConfig = await resolveViteConfig({ configFile, mode, root }); @@ -257,7 +257,7 @@ export async function build( let { remixConfig } = ctx; - let vite = await import("vite"); + let vite = getVite(); async function viteBuild({ ssr, diff --git a/packages/remix-dev/vite/dev.ts b/packages/remix-dev/vite/dev.ts index aeff831a7ba..e2706a5d3ba 100644 --- a/packages/remix-dev/vite/dev.ts +++ b/packages/remix-dev/vite/dev.ts @@ -1,7 +1,7 @@ import type * as Vite from "vite"; import colors from "picocolors"; -import { preloadViteEsm } from "./import-vite-esm-sync"; +import { preloadVite, getVite } from "./vite"; import * as profiler from "./profiler"; export interface ViteDevOptions { @@ -34,10 +34,10 @@ export async function dev( }: ViteDevOptions ) { // Ensure Vite's ESM build is preloaded at the start of the process - // so it can be accessed synchronously via `importViteEsmSync` - await preloadViteEsm(); + // so it can be accessed synchronously via `getVite` + await preloadVite(); + let vite = getVite(); - let vite = await import("vite"); let server = await vite.createServer({ root, mode, diff --git a/packages/remix-dev/vite/import-vite-esm-sync.ts b/packages/remix-dev/vite/import-vite-esm-sync.ts deleted file mode 100644 index f48894cdbaf..00000000000 --- a/packages/remix-dev/vite/import-vite-esm-sync.ts +++ /dev/null @@ -1,21 +0,0 @@ -// This file is used to avoid CJS deprecation warnings in Vite 5 since -// @remix-run/dev currently compiles to CJS. By using this interface, we only -// ever access the Vite package via a dynamic import which forces the ESM build. -// "importViteAsync" is expected be called up-front in the first async plugin -// hook, which then unlocks "importViteEsmSync" for use anywhere in the plugin -// and its utils. This file won't be needed when this package is ESM only. - -import invariant from "../invariant"; - -// eslint-disable-next-line @typescript-eslint/consistent-type-imports -type Vite = typeof import("vite"); -let vite: Vite | undefined; - -export async function preloadViteEsm(): Promise { - vite = await import("vite"); -} - -export function importViteEsmSync(): Vite { - invariant(vite, "importViteEsmSync() called before preloadViteEsm()"); - return vite; -} diff --git a/packages/remix-dev/vite/is-in-remix-monorepo.ts b/packages/remix-dev/vite/is-in-remix-monorepo.ts new file mode 100644 index 00000000000..b0ffbf46e72 --- /dev/null +++ b/packages/remix-dev/vite/is-in-remix-monorepo.ts @@ -0,0 +1,11 @@ +import path from "node:path"; + +export function isInRemixMonorepo() { + try { + let devPath = path.dirname(require.resolve("@remix-run/node/package.json")); + let devParentDir = path.basename(path.resolve(devPath, "..")); + return devParentDir === "packages"; + } catch { + return false; + } +} diff --git a/packages/remix-dev/vite/plugin.ts b/packages/remix-dev/vite/plugin.ts index 2bc8b01b7e2..8f532ae24cd 100644 --- a/packages/remix-dev/vite/plugin.ts +++ b/packages/remix-dev/vite/plugin.ts @@ -39,7 +39,8 @@ import * as VirtualModule from "./vmod"; import { resolveFileUrl } from "./resolve-file-url"; import { combineURLs } from "./combine-urls"; import { removeExports } from "./remove-exports"; -import { importViteEsmSync, preloadViteEsm } from "./import-vite-esm-sync"; +import { isInRemixMonorepo } from "./is-in-remix-monorepo"; +import { getVite, preloadVite } from "./vite"; import * as ViteNode from "./vite-node"; export async function resolveViteConfig({ @@ -51,7 +52,8 @@ export async function resolveViteConfig({ mode?: string; root: string; }) { - let vite = await import("vite"); + await preloadVite(); + let vite = getVite(); let viteConfig = await vite.resolveConfig( { mode, configFile, root }, @@ -300,7 +302,7 @@ const resolveRelativeRouteFilePath = ( route: RouteManifestEntry, remixConfig: ResolvedVitePluginConfig ) => { - let vite = importViteEsmSync(); + let vite = getVite(); let file = route.file; let fullPath = path.resolve(remixConfig.appDirectory, file); @@ -330,7 +332,7 @@ const resolveChunk = ( viteManifest: Vite.Manifest, absoluteFilePath: string ) => { - let vite = importViteEsmSync(); + let vite = getVite(); let rootRelativeFilePath = vite.normalizePath( path.relative(ctx.rootDirectory, absoluteFilePath) ); @@ -708,7 +710,7 @@ export const remixVitePlugin: RemixVitePlugin = (remixUserConfig = {}) => { { rootDirectory, isSpaMode, - vite: importViteEsmSync(), + vite: getVite(), routeConfigChanged, viteUserConfig, routesViteNodeContext, @@ -1037,10 +1039,10 @@ export const remixVitePlugin: RemixVitePlugin = (remixUserConfig = {}) => { name: "remix", config: async (_viteUserConfig, _viteConfigEnv) => { // Preload Vite's ESM build up-front as soon as we're in an async context - await preloadViteEsm(); + await preloadVite(); // Ensure sync import of Vite works after async preload - let vite = importViteEsmSync(); + let vite = getVite(); viteUserConfig = _viteUserConfig; viteConfigEnv = _viteConfigEnv; @@ -1234,7 +1236,7 @@ export const remixVitePlugin: RemixVitePlugin = (remixUserConfig = {}) => { ); } - let vite = importViteEsmSync(); + let vite = getVite(); let childCompilerConfigFile = await vite.loadConfigFromFile( { @@ -1373,7 +1375,7 @@ export const remixVitePlugin: RemixVitePlugin = (remixUserConfig = {}) => { // Invalidate virtual modules and update cached plugin config via file watcher viteDevServer.watcher.on("all", async (eventName, rawFilepath) => { - let { normalizePath } = importViteEsmSync(); + let { normalizePath } = getVite(); let filepath = normalizePath(rawFilepath); let appFileAddedOrRemoved = @@ -1577,7 +1579,7 @@ export const remixVitePlugin: RemixVitePlugin = (remixUserConfig = {}) => { return; } - let vite = importViteEsmSync(); + let vite = getVite(); let importerShort = vite.normalizePath( path.relative(ctx.rootDirectory, importer) ); @@ -1816,13 +1818,64 @@ export const remixVitePlugin: RemixVitePlugin = (remixUserConfig = {}) => { return modules; }, }, + { + name: "remix-server-change-trigger-client-hmr", + // This hook is only available in Vite v6+ so this is a no-op in v5. + // Previously the server and client modules were shared in a single module + // graph. This meant that changes to server code automatically resulted in + // client HMR updates. In Vite v6+ these module graphs are separate from + // each other so we need to manually trigger client HMR updates if server + // code has changed. + hotUpdate(this, { server, modules }) { + if (this.environment.name !== "ssr" && modules.length <= 0) { + return; + } + + let clientModules = uniqueNodes( + modules.flatMap((mod) => + getParentClientNodes(server.environments.client.moduleGraph, mod) + ) + ); + + for (let clientModule of clientModules) { + server.environments.client.reloadModule(clientModule); + } + }, + }, ]; }; -function isInRemixMonorepo() { - let devPath = path.dirname(require.resolve("@remix-run/dev/package.json")); - let devParentDir = path.basename(path.resolve(devPath, "..")); - return devParentDir === "packages"; +function getParentClientNodes( + clientModuleGraph: Vite.EnvironmentModuleGraph, + module: Vite.EnvironmentModuleNode +): Vite.EnvironmentModuleNode[] { + if (!module.id) { + return []; + } + + let clientModule = clientModuleGraph.getModuleById(module.id); + if (clientModule) { + return [clientModule]; + } + + return [...module.importers].flatMap((importer) => + getParentClientNodes(clientModuleGraph, importer) + ); +} + +function uniqueNodes( + nodes: Vite.EnvironmentModuleNode[] +): Vite.EnvironmentModuleNode[] { + let nodeUrls = new Set(); + let unique: Vite.EnvironmentModuleNode[] = []; + for (let node of nodes) { + if (nodeUrls.has(node.url)) { + continue; + } + nodeUrls.add(node.url); + unique.push(node); + } + return unique; } function isEqualJson(v1: unknown, v2: unknown) { @@ -1895,7 +1948,7 @@ function getRoute( pluginConfig: ResolvedVitePluginConfig, file: string ): RouteManifestEntry | undefined { - let vite = importViteEsmSync(); + let vite = getVite(); let routePath = vite.normalizePath( path.relative(pluginConfig.appDirectory, file) ); diff --git a/packages/remix-dev/vite/resolve-file-url.ts b/packages/remix-dev/vite/resolve-file-url.ts index 8908ad7e0a8..eebcdf063f0 100644 --- a/packages/remix-dev/vite/resolve-file-url.ts +++ b/packages/remix-dev/vite/resolve-file-url.ts @@ -1,12 +1,12 @@ import * as path from "node:path"; -import { importViteEsmSync } from "./import-vite-esm-sync"; +import { getVite } from "./vite"; export const resolveFileUrl = ( { rootDirectory }: { rootDirectory: string }, filePath: string ) => { - let vite = importViteEsmSync(); + let vite = getVite(); let relativePath = path.relative(rootDirectory, filePath); let isWithinRoot = !relativePath.startsWith("..") && !path.isAbsolute(relativePath); diff --git a/packages/remix-dev/vite/styles.ts b/packages/remix-dev/vite/styles.ts index f2910da5f89..f41e01d4498 100644 --- a/packages/remix-dev/vite/styles.ts +++ b/packages/remix-dev/vite/styles.ts @@ -5,6 +5,7 @@ import { type ModuleNode, type ViteDevServer } from "vite"; import { type RemixConfig as ResolvedRemixConfig } from "../config"; import { resolveFileUrl } from "./resolve-file-url"; +import { getVite } from "./vite"; type ServerRouteManifest = ServerBuild["routes"]; type ServerRoute = ServerRouteManifest[string]; @@ -48,6 +49,9 @@ export const isCssUrlWithoutSideEffects = (url: string) => { return false; }; +const injectQuery = (url: string, query: string) => + url.includes("?") ? url.replace("?", `?${query}&`) : `${url}?${query}`; + const getStylesForFiles = async ({ viteDevServer, rootDirectory, @@ -59,6 +63,9 @@ const getStylesForFiles = async ({ cssModulesManifest: Record; files: string[]; }): Promise => { + let vite = getVite(); + let viteMajor = parseInt(vite.version.split(".")[0], 10); + let styles: Record = {}; let deps = new Set(); @@ -103,7 +110,17 @@ const getStylesForFiles = async ({ try { let css = isCssModulesFile(dep.file) ? cssModulesManifest[dep.file] - : (await viteDevServer.ssrLoadModule(dep.url)).default; + : ( + await viteDevServer.ssrLoadModule( + // We need the ?inline query in Vite v6 when loading CSS in SSR + // since it does not expose the default export for CSS in a + // server environment. This is to align with non-SSR + // environments. For backwards compatibility with v5 we keep + // using the URL without ?inline query because the HMR code was + // relying on the implicit SSR-client module graph relationship. + viteMajor >= 6 ? injectQuery(dep.url, "inline") : dep.url + ) + ).default; if (css === undefined) { throw new Error(); diff --git a/packages/remix-dev/vite/vite-node.ts b/packages/remix-dev/vite/vite-node.ts index a7c25c26633..652b830b285 100644 --- a/packages/remix-dev/vite/vite-node.ts +++ b/packages/remix-dev/vite/vite-node.ts @@ -3,7 +3,7 @@ import { ViteNodeRunner } from "vite-node/client"; import { installSourcemapsSupport } from "vite-node/source-map"; import type * as Vite from "vite"; -import { importViteEsmSync, preloadViteEsm } from "./import-vite-esm-sync"; +import { getVite, preloadVite } from "./vite"; export type Context = { devServer: Vite.ViteDevServer; @@ -14,8 +14,8 @@ export type Context = { export async function createContext( viteConfig: Vite.InlineConfig = {} ): Promise { - await preloadViteEsm(); - let vite = importViteEsmSync(); + await preloadVite(); + let vite = getVite(); let devServer = await vite.createServer( vite.mergeConfig( diff --git a/packages/remix-dev/vite/vite.ts b/packages/remix-dev/vite/vite.ts new file mode 100644 index 00000000000..d32be88723a --- /dev/null +++ b/packages/remix-dev/vite/vite.ts @@ -0,0 +1,31 @@ +import path from "pathe"; + +import invariant from "../invariant"; +import { isInRemixMonorepo } from "./is-in-remix-monorepo"; + +// eslint-disable-next-line @typescript-eslint/consistent-type-imports +type Vite = typeof import("vite"); +let vite: Vite | undefined; + +const viteImportSpecifier = isInRemixMonorepo() + ? // Support testing against different versions of Vite by ensuring that Vite + // is resolved from the current working directory when running within this + // repo. If we don't do this, Vite will always be imported relative to this + // file, which means that it will always resolve to Vite 6. + `file:///${path + .normalize( + require.resolve("vite/package.json", { paths: [process.cwd()] }) + ) + .replace("package.json", "dist/node/index.js")}` + : "vite"; + +export async function preloadVite(): Promise { + // Use a dynamic import to force Vite to use the ESM build. If we don't do + // this, Vite logs CJS deprecation warnings. + vite = await import(viteImportSpecifier); +} + +export function getVite(): Vite { + invariant(vite, "getVite() called before preloadVite()"); + return vite; +} diff --git a/packages/remix-route-config/package.json b/packages/remix-route-config/package.json index 4b7a28d1482..2300c84e6c1 100644 --- a/packages/remix-route-config/package.json +++ b/packages/remix-route-config/package.json @@ -23,7 +23,7 @@ "@remix-run/dev": "workspace:*", "@types/lodash": "^4.14.182", "typescript": "^5.1.6", - "vite": "5.1.8" + "vite": "^6.0.0" }, "peerDependencies": { "@remix-run/dev": "^2.15.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d0dbc68581e..42713209bde 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -290,11 +290,11 @@ importers: specifier: ^4.1.1 version: 4.1.1 vite: - specifier: 5.1.8 - version: 5.1.8(@types/node@18.17.1) + specifier: ^6.0.0 + version: 6.0.6(@types/node@18.17.1) vite-tsconfig-paths: specifier: ^4.2.2 - version: 4.3.1(typescript@5.1.6)(vite@5.1.8) + version: 4.3.1(typescript@5.1.6)(vite@6.0.6) wait-on: specifier: ^7.0.1 version: 7.0.1 @@ -370,6 +370,9 @@ importers: npm-run-all: specifier: ^4.1.5 version: 4.1.5 + pathe: + specifier: ^1.1.2 + version: 1.1.2 pidtree: specifier: ^0.6.0 version: 0.6.0 @@ -546,7 +549,7 @@ importers: version: 3.2.1 postcss-import: specifier: ^15.1.0 - version: 15.1.0(postcss@8.4.35) + version: 15.1.0(postcss@8.4.49) tailwindcss: specifier: ^3.3.0 version: 3.4.1 @@ -554,51 +557,69 @@ importers: specifier: ^5.1.0 version: 5.1.6 - integration/helpers/vite-cloudflare-template: + integration/helpers/vite-5-template: dependencies: - '@remix-run/cloudflare': - specifier: 2.15.3 - version: link:../../../packages/remix-cloudflare - '@remix-run/cloudflare-pages': - specifier: 2.15.3 - version: link:../../../packages/remix-cloudflare-pages + '@remix-run/express': + specifier: workspace:* + version: link:../../../packages/remix-express + '@remix-run/node': + specifier: workspace:* + version: link:../../../packages/remix-node '@remix-run/react': - specifier: 2.15.3 + specifier: workspace:* version: link:../../../packages/remix-react + '@remix-run/serve': + specifier: workspace:* + version: link:../../../packages/remix-serve + '@vanilla-extract/css': + specifier: ^1.10.0 + version: 1.14.1 + '@vanilla-extract/vite-plugin': + specifier: ^3.9.2 + version: 3.9.5(vite@5.1.8) + express: + specifier: ^4.20.0 + version: 4.21.1 isbot: specifier: ^4.1.0 version: 4.4.0 - miniflare: - specifier: ^3.20231030.4 - version: 3.20240821.1 react: specifier: ^18.2.0 version: 18.2.0 react-dom: specifier: ^18.2.0 version: 18.2.0(react@18.2.0) + serialize-javascript: + specifier: ^6.0.1 + version: 6.0.2 devDependencies: - '@cloudflare/workers-types': - specifier: ^4.20230518.0 - version: 4.20240208.0 '@remix-run/dev': specifier: workspace:* version: link:../../../packages/remix-dev '@remix-run/eslint-config': specifier: workspace:* version: link:../../../packages/remix-eslint-config + '@remix-run/route-config': + specifier: workspace:* + version: link:../../../packages/remix-route-config '@types/react': specifier: ^18.2.20 version: 18.2.20 '@types/react-dom': specifier: ^18.2.7 version: 18.2.7 + eslint: + specifier: ^8.38.0 + version: 8.56.0 typescript: specifier: ^5.1.6 version: 5.1.6 vite: 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.8) @@ -606,7 +627,7 @@ importers: specifier: ^3.24.0 version: 3.74.0(@cloudflare/workers-types@4.20240208.0) - integration/helpers/vite-template: + integration/helpers/vite-6-template: dependencies: '@remix-run/express': specifier: workspace:* @@ -625,7 +646,7 @@ importers: version: 1.14.1 '@vanilla-extract/vite-plugin': specifier: ^3.9.2 - version: 3.9.5(vite@5.1.8) + version: 3.9.5(vite@6.0.6) express: specifier: ^4.20.0 version: 4.21.1 @@ -664,14 +685,66 @@ importers: specifier: ^5.1.6 version: 5.1.6 vite: - specifier: 5.1.8 - version: 5.1.8(@types/node@18.17.1) + specifier: ^6.0.0 + version: 6.0.6(@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.8) + version: 4.3.1(typescript@5.1.6)(vite@6.0.6) + wrangler: + specifier: ^3.24.0 + version: 3.74.0(@cloudflare/workers-types@4.20240208.0) + + integration/helpers/vite-cloudflare-template: + dependencies: + '@remix-run/cloudflare': + specifier: workspace:* + version: link:../../../packages/remix-cloudflare + '@remix-run/cloudflare-pages': + specifier: workspace:* + version: link:../../../packages/remix-cloudflare-pages + '@remix-run/react': + specifier: workspace:* + version: link:../../../packages/remix-react + isbot: + specifier: ^4.1.0 + version: 4.4.0 + miniflare: + specifier: ^3.20231030.4 + version: 3.20240821.1 + react: + specifier: ^18.2.0 + version: 18.2.0 + react-dom: + specifier: ^18.2.0 + version: 18.2.0(react@18.2.0) + devDependencies: + '@cloudflare/workers-types': + specifier: ^4.20230518.0 + version: 4.20240208.0 + '@remix-run/dev': + specifier: workspace:* + version: link:../../../packages/remix-dev + '@remix-run/eslint-config': + specifier: workspace:* + version: link:../../../packages/remix-eslint-config + '@types/react': + specifier: ^18.2.20 + version: 18.2.20 + '@types/react-dom': + specifier: ^18.2.7 + version: 18.2.7 + typescript: + specifier: ^5.1.6 + version: 5.1.6 + vite: + specifier: ^6.0.0 + version: 6.0.6(@types/node@18.17.1) + vite-tsconfig-paths: + specifier: ^4.2.1 + version: 4.3.1(typescript@5.1.6)(vite@6.0.6) wrangler: specifier: ^3.24.0 version: 3.74.0(@cloudflare/workers-types@4.20240208.0) @@ -879,9 +952,6 @@ importers: '@remix-run/node': specifier: workspace:* version: link:../remix-node - '@remix-run/react': - specifier: ^2.15.3 - version: link:../remix-react '@remix-run/router': specifier: 1.22.0 version: 1.22.0 @@ -957,6 +1027,9 @@ importers: ora: specifier: ^5.4.1 version: 5.4.1 + pathe: + specifier: ^1.1.2 + version: 1.1.2 picocolors: specifier: ^1.0.0 version: 1.0.0 @@ -1011,9 +1084,12 @@ importers: valibot: specifier: ^0.41.0 version: 0.41.0(typescript@5.1.6) + vite: + specifier: ^5.1.0 || ^6.0.0 + version: 6.0.6(@types/node@18.17.1) vite-node: - specifier: ^1.6.0 - version: 1.6.0(@types/node@18.17.1) + specifier: 3.0.0-beta.2 + version: 3.0.0-beta.2(@types/node@18.17.1) ws: specifier: ^7.5.10 version: 7.5.10 @@ -1024,6 +1100,9 @@ importers: '@remix-run/deno': specifier: workspace:* version: link:../remix-deno + '@remix-run/react': + specifier: workspace:* + version: link:../remix-react '@remix-run/serve': specifier: workspace:* version: link:../remix-serve @@ -1096,9 +1175,6 @@ importers: tiny-invariant: specifier: ^1.2.0 version: 1.3.1 - vite: - 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) @@ -1306,8 +1382,8 @@ importers: specifier: ^5.1.6 version: 5.1.6 vite: - specifier: 5.1.8 - version: 5.1.8(@types/node@18.17.1) + specifier: ^6.0.0 + version: 6.0.6(@types/node@18.17.1) packages/remix-routes-option-adapter: devDependencies: @@ -3064,6 +3140,14 @@ packages: requiresBuild: true optional: true + /@esbuild/aix-ppc64@0.24.2: + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + optional: true + /@esbuild/android-arm64@0.17.19: resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} engines: {node: '>=12'} @@ -3088,6 +3172,14 @@ packages: requiresBuild: true optional: true + /@esbuild/android-arm64@0.24.2: + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + /@esbuild/android-arm@0.17.19: resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} engines: {node: '>=12'} @@ -3112,6 +3204,14 @@ packages: requiresBuild: true optional: true + /@esbuild/android-arm@0.24.2: + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + /@esbuild/android-x64@0.17.19: resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} engines: {node: '>=12'} @@ -3136,6 +3236,14 @@ packages: requiresBuild: true optional: true + /@esbuild/android-x64@0.24.2: + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + requiresBuild: true + optional: true + /@esbuild/darwin-arm64@0.17.19: resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} engines: {node: '>=12'} @@ -3160,6 +3268,14 @@ packages: requiresBuild: true optional: true + /@esbuild/darwin-arm64@0.24.2: + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + /@esbuild/darwin-x64@0.17.19: resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} engines: {node: '>=12'} @@ -3184,6 +3300,14 @@ packages: requiresBuild: true optional: true + /@esbuild/darwin-x64@0.24.2: + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + /@esbuild/freebsd-arm64@0.17.19: resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} engines: {node: '>=12'} @@ -3208,6 +3332,14 @@ packages: requiresBuild: true optional: true + /@esbuild/freebsd-arm64@0.24.2: + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + /@esbuild/freebsd-x64@0.17.19: resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} engines: {node: '>=12'} @@ -3232,6 +3364,14 @@ packages: requiresBuild: true optional: true + /@esbuild/freebsd-x64@0.24.2: + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + /@esbuild/linux-arm64@0.17.19: resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} engines: {node: '>=12'} @@ -3256,6 +3396,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-arm64@0.24.2: + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-arm@0.17.19: resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} engines: {node: '>=12'} @@ -3280,6 +3428,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-arm@0.24.2: + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-ia32@0.17.19: resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} engines: {node: '>=12'} @@ -3304,6 +3460,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-ia32@0.24.2: + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-loong64@0.17.19: resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} engines: {node: '>=12'} @@ -3328,6 +3492,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-loong64@0.24.2: + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-mips64el@0.17.19: resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} engines: {node: '>=12'} @@ -3352,6 +3524,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-mips64el@0.24.2: + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-ppc64@0.17.19: resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} engines: {node: '>=12'} @@ -3376,6 +3556,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-ppc64@0.24.2: + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-riscv64@0.17.19: resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} engines: {node: '>=12'} @@ -3400,6 +3588,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-riscv64@0.24.2: + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-s390x@0.17.19: resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} engines: {node: '>=12'} @@ -3424,6 +3620,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-s390x@0.24.2: + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-x64@0.17.19: resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} engines: {node: '>=12'} @@ -3448,6 +3652,22 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-x64@0.24.2: + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/netbsd-arm64@0.24.2: + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + requiresBuild: true + optional: true + /@esbuild/netbsd-x64@0.17.19: resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} engines: {node: '>=12'} @@ -3472,6 +3692,22 @@ packages: requiresBuild: true optional: true + /@esbuild/netbsd-x64@0.24.2: + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + optional: true + + /@esbuild/openbsd-arm64@0.24.2: + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + requiresBuild: true + optional: true + /@esbuild/openbsd-x64@0.17.19: resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} engines: {node: '>=12'} @@ -3496,6 +3732,14 @@ packages: requiresBuild: true optional: true + /@esbuild/openbsd-x64@0.24.2: + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + optional: true + /@esbuild/sunos-x64@0.17.19: resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} engines: {node: '>=12'} @@ -3520,6 +3764,14 @@ packages: requiresBuild: true optional: true + /@esbuild/sunos-x64@0.24.2: + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + requiresBuild: true + optional: true + /@esbuild/win32-arm64@0.17.19: resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} engines: {node: '>=12'} @@ -3544,6 +3796,14 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-arm64@0.24.2: + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + /@esbuild/win32-ia32@0.17.19: resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} engines: {node: '>=12'} @@ -3568,6 +3828,14 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-ia32@0.24.2: + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + /@esbuild/win32-x64@0.17.19: resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} engines: {node: '>=12'} @@ -3592,6 +3860,14 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-x64@0.24.2: + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4413,6 +4689,13 @@ packages: rollup: 2.79.2 dev: false + /@rollup/rollup-android-arm-eabi@4.29.1: + resolution: {integrity: sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw==} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + /@rollup/rollup-android-arm-eabi@4.4.1: resolution: {integrity: sha512-Ss4suS/sd+6xLRu+MLCkED2mUrAyqHmmvZB+zpzZ9Znn9S8wCkTQCJaQ8P8aHofnvG5L16u9MVnJjCqioPErwQ==} cpu: [arm] @@ -4420,6 +4703,13 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-android-arm64@4.29.1: + resolution: {integrity: sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew==} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + /@rollup/rollup-android-arm64@4.4.1: resolution: {integrity: sha512-sRSkGTvGsARwWd7TzC8LKRf8FiPn7257vd/edzmvG4RIr9x68KBN0/Ek48CkuUJ5Pj/Dp9vKWv6PEupjKWjTYA==} cpu: [arm64] @@ -4427,6 +4717,13 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-darwin-arm64@4.29.1: + resolution: {integrity: sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + /@rollup/rollup-darwin-arm64@4.4.1: resolution: {integrity: sha512-nz0AiGrrXyaWpsmBXUGOBiRDU0wyfSXbFuF98pPvIO8O6auQsPG6riWsfQqmCCC5FNd8zKQ4JhgugRNAkBJ8mQ==} cpu: [arm64] @@ -4434,6 +4731,13 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-darwin-x64@4.29.1: + resolution: {integrity: sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng==} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + /@rollup/rollup-darwin-x64@4.4.1: resolution: {integrity: sha512-Ogqvf4/Ve/faMaiPRvzsJEqajbqs00LO+8vtrPBVvLgdw4wBg6ZDXdkDAZO+4MLnrc8mhGV6VJAzYScZdPLtJg==} cpu: [x64] @@ -4441,6 +4745,27 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-freebsd-arm64@4.29.1: + resolution: {integrity: sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw==} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + + /@rollup/rollup-freebsd-x64@4.29.1: + resolution: {integrity: sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w==} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.29.1: + resolution: {integrity: sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A==} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + /@rollup/rollup-linux-arm-gnueabihf@4.4.1: resolution: {integrity: sha512-9zc2tqlr6HfO+hx9+wktUlWTRdje7Ub15iJqKcqg5uJZ+iKqmd2CMxlgPpXi7+bU7bjfDIuvCvnGk7wewFEhCg==} cpu: [arm] @@ -4448,6 +4773,20 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-linux-arm-musleabihf@4.29.1: + resolution: {integrity: sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.29.1: + resolution: {integrity: sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + /@rollup/rollup-linux-arm64-gnu@4.4.1: resolution: {integrity: sha512-phLb1fN3rq2o1j1v+nKxXUTSJnAhzhU0hLrl7Qzb0fLpwkGMHDem+o6d+ZI8+/BlTXfMU4kVWGvy6g9k/B8L6Q==} cpu: [arm64] @@ -4455,6 +4794,13 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-linux-arm64-musl@4.29.1: + resolution: {integrity: sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + /@rollup/rollup-linux-arm64-musl@4.4.1: resolution: {integrity: sha512-M2sDtw4tf57VPSjbTAN/lz1doWUqO2CbQuX3L9K6GWIR5uw9j+ROKCvvUNBY8WUbMxwaoc8mH9HmmBKsLht7+w==} cpu: [arm64] @@ -4462,6 +4808,41 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-linux-loongarch64-gnu@4.29.1: + resolution: {integrity: sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw==} + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-powerpc64le-gnu@4.29.1: + resolution: {integrity: sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w==} + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.29.1: + resolution: {integrity: sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-s390x-gnu@4.29.1: + resolution: {integrity: sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g==} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.29.1: + resolution: {integrity: sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ==} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + /@rollup/rollup-linux-x64-gnu@4.4.1: resolution: {integrity: sha512-mHIlRLX+hx+30cD6c4BaBOsSqdnCE4ok7/KDvjHYAHoSuveoMMxIisZFvcLhUnyZcPBXDGZTuBoalcuh43UfQQ==} cpu: [x64] @@ -4469,6 +4850,13 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-linux-x64-musl@4.29.1: + resolution: {integrity: sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA==} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + /@rollup/rollup-linux-x64-musl@4.4.1: resolution: {integrity: sha512-tB+RZuDi3zxFx7vDrjTNGVLu2KNyzYv+UY8jz7e4TMEoAj7iEt8Qk6xVu6mo3pgjnsHj6jnq3uuRsHp97DLwOA==} cpu: [x64] @@ -4476,6 +4864,13 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-win32-arm64-msvc@4.29.1: + resolution: {integrity: sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig==} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + /@rollup/rollup-win32-arm64-msvc@4.4.1: resolution: {integrity: sha512-Hdn39PzOQowK/HZzYpCuZdJC91PE6EaGbTe2VCA9oq2u18evkisQfws0Smh9QQGNNRa/T7MOuGNQoLeXhhE3PQ==} cpu: [arm64] @@ -4483,6 +4878,13 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-win32-ia32-msvc@4.29.1: + resolution: {integrity: sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng==} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + /@rollup/rollup-win32-ia32-msvc@4.4.1: resolution: {integrity: sha512-tLpKb1Elm9fM8c5w3nl4N1eLTP4bCqTYw9tqUBxX8/hsxqHO3dxc2qPbZ9PNkdK4tg4iLEYn0pOUnVByRd2CbA==} cpu: [ia32] @@ -4490,6 +4892,13 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-win32-x64-msvc@4.29.1: + resolution: {integrity: sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg==} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + /@rollup/rollup-win32-x64-msvc@4.4.1: resolution: {integrity: sha512-eAhItDX9yQtZVM3yvXS/VR3qPqcnXvnLyx1pLXl4JzyNMBNO3KC986t/iAg2zcMzpAp9JSvxB5VZGnBiNoA98w==} cpu: [x64] @@ -4756,6 +5165,9 @@ packages: /@types/estree@1.0.0: resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} + /@types/estree@1.0.6: + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + /@types/express-serve-static-core@4.17.43: resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==} dependencies: @@ -5342,6 +5754,28 @@ packages: - terser - ts-node + /@vanilla-extract/vite-plugin@3.9.5(vite@6.0.6): + 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: 6.0.6(@types/node@18.17.1) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + - ts-node + dev: false + /@web3-storage/multipart-parser@1.0.0: resolution: {integrity: sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==} dev: false @@ -6915,6 +7349,18 @@ packages: ms: 2.1.2 supports-color: 8.1.1 + /debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: false + /decamelize-keys@1.1.0: resolution: {integrity: sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==} engines: {node: '>=0.10.0'} @@ -7353,6 +7799,10 @@ packages: resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} dev: false + /es-module-lexer@1.6.0: + resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} + dev: false + /es-set-tostringtag@2.0.2: resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} engines: {node: '>= 0.4'} @@ -7488,6 +7938,38 @@ packages: '@esbuild/win32-ia32': 0.19.12 '@esbuild/win32-x64': 0.19.12 + /esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} + engines: {node: '>=18'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.24.2 + '@esbuild/android-arm': 0.24.2 + '@esbuild/android-arm64': 0.24.2 + '@esbuild/android-x64': 0.24.2 + '@esbuild/darwin-arm64': 0.24.2 + '@esbuild/darwin-x64': 0.24.2 + '@esbuild/freebsd-arm64': 0.24.2 + '@esbuild/freebsd-x64': 0.24.2 + '@esbuild/linux-arm': 0.24.2 + '@esbuild/linux-arm64': 0.24.2 + '@esbuild/linux-ia32': 0.24.2 + '@esbuild/linux-loong64': 0.24.2 + '@esbuild/linux-mips64el': 0.24.2 + '@esbuild/linux-ppc64': 0.24.2 + '@esbuild/linux-riscv64': 0.24.2 + '@esbuild/linux-s390x': 0.24.2 + '@esbuild/linux-x64': 0.24.2 + '@esbuild/netbsd-arm64': 0.24.2 + '@esbuild/netbsd-x64': 0.24.2 + '@esbuild/openbsd-arm64': 0.24.2 + '@esbuild/openbsd-x64': 0.24.2 + '@esbuild/sunos-x64': 0.24.2 + '@esbuild/win32-arm64': 0.24.2 + '@esbuild/win32-ia32': 0.24.2 + '@esbuild/win32-x64': 0.24.2 + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -12325,6 +12807,9 @@ packages: /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + /picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} @@ -12413,6 +12898,18 @@ packages: read-cache: 1.0.0 resolve: 1.22.8 + /postcss-import@15.1.0(postcss@8.4.49): + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.8 + dev: true + /postcss-js@4.0.1(postcss@8.4.35): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} @@ -12522,6 +13019,14 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 + /postcss@8.4.49: + resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.1.1 + source-map-js: 1.2.1 + /preferred-pm@3.0.3: resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} engines: {node: '>=10'} @@ -13309,6 +13814,34 @@ packages: fsevents: 2.3.3 dev: false + /rollup@4.29.1: + resolution: {integrity: sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.29.1 + '@rollup/rollup-android-arm64': 4.29.1 + '@rollup/rollup-darwin-arm64': 4.29.1 + '@rollup/rollup-darwin-x64': 4.29.1 + '@rollup/rollup-freebsd-arm64': 4.29.1 + '@rollup/rollup-freebsd-x64': 4.29.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.29.1 + '@rollup/rollup-linux-arm-musleabihf': 4.29.1 + '@rollup/rollup-linux-arm64-gnu': 4.29.1 + '@rollup/rollup-linux-arm64-musl': 4.29.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.29.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.29.1 + '@rollup/rollup-linux-riscv64-gnu': 4.29.1 + '@rollup/rollup-linux-s390x-gnu': 4.29.1 + '@rollup/rollup-linux-x64-gnu': 4.29.1 + '@rollup/rollup-linux-x64-musl': 4.29.1 + '@rollup/rollup-win32-arm64-msvc': 4.29.1 + '@rollup/rollup-win32-ia32-msvc': 4.29.1 + '@rollup/rollup-win32-x64-msvc': 4.29.1 + fsevents: 2.3.3 + /rollup@4.4.1: resolution: {integrity: sha512-idZzrUpWSblPJX66i+GzrpjKE3vbYrlWirUHteoAbjKReZwa0cohAErOYA5efoMmNCdvG9yrJS+w9Kl6csaH4w==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -13682,6 +14215,10 @@ packages: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + /source-map-support@0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} dependencies: @@ -14902,6 +15439,31 @@ packages: - supports-color - terser + /vite-node@3.0.0-beta.2(@types/node@18.17.1): + resolution: {integrity: sha512-ofTf6cfRdL30Wbl9n/BX81EyIR5s4PReLmSurrxQ+koLaWUNOEo8E0lCM53OJkb8vpa2URM2nSrxZsIFyvY1rg==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.4.0 + es-module-lexer: 1.6.0 + pathe: 1.1.2 + vite: 6.0.6(@types/node@18.17.1) + transitivePeerDependencies: + - '@types/node' + - jiti + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + dev: false + /vite-tsconfig-paths@4.3.1(typescript@5.1.6)(vite@5.1.8): resolution: {integrity: sha512-cfgJwcGOsIxXOLU/nELPny2/LUD/lcf1IbfyeKTv2bsupVbTH/xpFtdQlBmIP1GEK2CjjLxYhFfB+QODFAx5aw==} peerDependencies: @@ -14918,6 +15480,22 @@ packages: - supports-color - typescript + /vite-tsconfig-paths@4.3.1(typescript@5.1.6)(vite@6.0.6): + 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: 6.0.6(@types/node@18.17.1) + transitivePeerDependencies: + - supports-color + - typescript + /vite@5.1.8(@types/node@18.17.1): resolution: {integrity: sha512-mB8ToUuSmzODSpENgvpFk2fTiU/YQ1tmcVJJ4WZbq4fPdGJkFNVcmVL5k7iDug6xzWjjuGDKAuSievIsD6H7Xw==} engines: {node: ^18.0.0 || >=20.0.0} @@ -14953,6 +15531,53 @@ packages: optionalDependencies: fsevents: 2.3.3 + /vite@6.0.6(@types/node@18.17.1): + resolution: {integrity: sha512-NSjmUuckPmDU18bHz7QZ+bTYhRR0iA72cs2QAxCqDpafJ0S6qetco0LB3WW2OxlMHS0JmAv+yZ/R3uPmMyGTjQ==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + dependencies: + '@types/node': 18.17.1 + esbuild: 0.24.2 + postcss: 8.4.49 + rollup: 4.29.1 + optionalDependencies: + fsevents: 2.3.3 + /w3c-xmlserializer@4.0.0: resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} engines: {node: '>=14'} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index e8c91c3e82c..cae0a89b7ea 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,26 +1,4 @@ packages: - "integration" - - "integration/helpers/node-template" - - "integration/helpers/cf-template" - - "integration/helpers/deno-template" - - "integration/helpers/vite-cloudflare-template" - - "integration/helpers/vite-template" - - "packages/create-remix" - - "packages/remix" - - "packages/remix-architect" - - "packages/remix-cloudflare" - - "packages/remix-cloudflare-pages" - - "packages/remix-cloudflare-workers" - - "packages/remix-css-bundle" - - "packages/remix-deno" - - "packages/remix-dev" - - "packages/remix-eslint-config" - - "packages/remix-express" - - "packages/remix-fs-routes" - - "packages/remix-node" - - "packages/remix-react" - - "packages/remix-route-config" - - "packages/remix-routes-option-adapter" - - "packages/remix-serve" - - "packages/remix-server-runtime" - - "packages/remix-testing" + - "integration/helpers/*" + - "packages/*" diff --git a/templates/cloudflare-workers/package.json b/templates/cloudflare-workers/package.json index 05f8a969ee8..d84d92f8ba5 100644 --- a/templates/cloudflare-workers/package.json +++ b/templates/cloudflare-workers/package.json @@ -36,7 +36,7 @@ "postcss": "^8.4.38", "tailwindcss": "^3.4.4", "typescript": "^5.1.6", - "vite": "^5.1.0", + "vite": "^6.0.0", "vite-tsconfig-paths": "^4.2.1", "wrangler": "3.84.0" }, diff --git a/templates/cloudflare/package.json b/templates/cloudflare/package.json index a5e4ad758f9..143b49d5704 100644 --- a/templates/cloudflare/package.json +++ b/templates/cloudflare/package.json @@ -36,7 +36,7 @@ "postcss": "^8.4.38", "tailwindcss": "^3.4.4", "typescript": "^5.1.6", - "vite": "^5.1.0", + "vite": "^6.0.0", "vite-tsconfig-paths": "^4.2.1", "wrangler": "3.57.1" }, diff --git a/templates/express/package.json b/templates/express/package.json index 76cfea70840..46cfef75153 100644 --- a/templates/express/package.json +++ b/templates/express/package.json @@ -40,7 +40,7 @@ "postcss": "^8.4.38", "tailwindcss": "^3.4.4", "typescript": "^5.1.6", - "vite": "^5.1.0", + "vite": "^6.0.0", "vite-tsconfig-paths": "^4.2.1" }, "engines": { diff --git a/templates/remix-javascript/package.json b/templates/remix-javascript/package.json index 37ef4a0149f..da45a9f8994 100644 --- a/templates/remix-javascript/package.json +++ b/templates/remix-javascript/package.json @@ -26,7 +26,7 @@ "eslint-plugin-react-hooks": "^4.6.0", "postcss": "^8.4.38", "tailwindcss": "^3.4.4", - "vite": "^5.1.0" + "vite": "^6.0.0" }, "engines": { "node": ">=20.0.0" diff --git a/templates/remix-tutorial/package.json b/templates/remix-tutorial/package.json index 33f36e251e7..b097107debd 100644 --- a/templates/remix-tutorial/package.json +++ b/templates/remix-tutorial/package.json @@ -33,7 +33,7 @@ "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "typescript": "^5.1.6", - "vite": "^5.1.4", + "vite": "^6.0.0", "vite-tsconfig-paths": "^4.3.1" }, "engines": { diff --git a/templates/remix/package.json b/templates/remix/package.json index 439b4d75a6a..a67dfacc2ce 100644 --- a/templates/remix/package.json +++ b/templates/remix/package.json @@ -33,7 +33,7 @@ "postcss": "^8.4.38", "tailwindcss": "^3.4.4", "typescript": "^5.1.6", - "vite": "^5.1.0", + "vite": "^6.0.0", "vite-tsconfig-paths": "^4.2.1" }, "engines": { diff --git a/templates/spa/package.json b/templates/spa/package.json index 29f994629d9..3c9ca2040d4 100644 --- a/templates/spa/package.json +++ b/templates/spa/package.json @@ -31,7 +31,7 @@ "postcss": "^8.4.38", "tailwindcss": "^3.4.4", "typescript": "^5.1.6", - "vite": "^5.1.0", + "vite": "^6.0.0", "vite-tsconfig-paths": "^4.2.1" }, "engines": { From 71a5930a4269ef0b7af74dcded1d198b0250fae4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 14 Feb 2025 03:45:52 +0000 Subject: [PATCH 06/18] chore: deduplicate pnpm-lock.yaml --- pnpm-lock.yaml | 370 +++++++++++++++---------------------------------- 1 file changed, 109 insertions(+), 261 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 42713209bde..bf0082a9e5b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -378,10 +378,10 @@ importers: version: 0.6.0 postcss: specifier: ^8.4.19 - version: 8.4.35 + version: 8.4.49 postcss-import: specifier: ^15.1.0 - version: 15.1.0(postcss@8.4.35) + version: 15.1.0(postcss@8.4.49) prettier: specifier: ^2.7.1 version: 2.8.1 @@ -984,7 +984,7 @@ importers: version: 16.4.4 es-module-lexer: specifier: ^1.3.1 - version: 1.4.1 + version: 1.6.0 esbuild: specifier: 0.17.6 version: 0.17.6 @@ -1032,7 +1032,7 @@ importers: version: 1.1.2 picocolors: specifier: ^1.0.0 - version: 1.0.0 + version: 1.1.1 picomatch: specifier: ^2.3.1 version: 2.3.1 @@ -1041,16 +1041,16 @@ importers: version: 0.6.0 postcss: specifier: ^8.4.19 - version: 8.4.35 + version: 8.4.49 postcss-discard-duplicates: specifier: ^5.1.0 - version: 5.1.0(postcss@8.4.35) + version: 5.1.0(postcss@8.4.49) postcss-load-config: specifier: ^4.0.1 - version: 4.0.2(postcss@8.4.35) + version: 4.0.2(postcss@8.4.49) postcss-modules: specifier: ^6.0.0 - version: 6.0.0(postcss@8.4.35) + version: 6.0.0(postcss@8.4.49) prettier: specifier: ^2.7.1 version: 2.8.1 @@ -1570,7 +1570,7 @@ packages: '@babel/traverse': 7.23.7 '@babel/types': 7.23.6 convert-source-map: 2.0.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -1665,7 +1665,7 @@ packages: '@babel/core': 7.23.7 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) lodash.debounce: 4.0.8 resolve: 1.22.8 semver: 6.3.1 @@ -2799,7 +2799,7 @@ packages: '@babel/helper-split-export-declaration': 7.22.6 '@babel/parser': 7.23.6 '@babel/types': 7.23.6 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -3886,7 +3886,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) espree: 9.6.1 globals: 13.20.0 ignore: 5.3.1 @@ -3926,7 +3926,7 @@ packages: deprecated: Use @eslint/config-array instead dependencies: '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -4209,7 +4209,7 @@ packages: /@kwsites/file-exists@1.1.1: resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: false @@ -4273,7 +4273,7 @@ packages: /@mdx-js/mdx@3.0.0: resolution: {integrity: sha512-Icm0TBKBLYqroYbNW3BPnzMGn+7mwpQOK310aZ7+fkCtiU3aqv2cdcX+nd0Ydo3wI5Rx8bX2Z2QmGb/XcAClCw==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.6 '@types/estree-jsx': 1.0.0 '@types/hast': 3.0.3 '@types/mdx': 2.0.5 @@ -4329,7 +4329,7 @@ packages: '@open-draft/until': 1.0.3 '@types/debug': 4.1.8 '@xmldom/xmldom': 0.8.10 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) headers-polyfill: 3.2.5 outvariant: 1.4.2 strict-event-emitter: 0.2.8 @@ -4683,7 +4683,7 @@ packages: rollup: optional: true dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 2.3.1 rollup: 2.79.2 @@ -4696,13 +4696,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-android-arm-eabi@4.4.1: - resolution: {integrity: sha512-Ss4suS/sd+6xLRu+MLCkED2mUrAyqHmmvZB+zpzZ9Znn9S8wCkTQCJaQ8P8aHofnvG5L16u9MVnJjCqioPErwQ==} - cpu: [arm] - os: [android] - requiresBuild: true - optional: true - /@rollup/rollup-android-arm64@4.29.1: resolution: {integrity: sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew==} cpu: [arm64] @@ -4710,13 +4703,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-android-arm64@4.4.1: - resolution: {integrity: sha512-sRSkGTvGsARwWd7TzC8LKRf8FiPn7257vd/edzmvG4RIr9x68KBN0/Ek48CkuUJ5Pj/Dp9vKWv6PEupjKWjTYA==} - cpu: [arm64] - os: [android] - requiresBuild: true - optional: true - /@rollup/rollup-darwin-arm64@4.29.1: resolution: {integrity: sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw==} cpu: [arm64] @@ -4724,13 +4710,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-darwin-arm64@4.4.1: - resolution: {integrity: sha512-nz0AiGrrXyaWpsmBXUGOBiRDU0wyfSXbFuF98pPvIO8O6auQsPG6riWsfQqmCCC5FNd8zKQ4JhgugRNAkBJ8mQ==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - optional: true - /@rollup/rollup-darwin-x64@4.29.1: resolution: {integrity: sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng==} cpu: [x64] @@ -4738,13 +4717,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-darwin-x64@4.4.1: - resolution: {integrity: sha512-Ogqvf4/Ve/faMaiPRvzsJEqajbqs00LO+8vtrPBVvLgdw4wBg6ZDXdkDAZO+4MLnrc8mhGV6VJAzYScZdPLtJg==} - cpu: [x64] - os: [darwin] - requiresBuild: true - optional: true - /@rollup/rollup-freebsd-arm64@4.29.1: resolution: {integrity: sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw==} cpu: [arm64] @@ -4766,13 +4738,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.4.1: - resolution: {integrity: sha512-9zc2tqlr6HfO+hx9+wktUlWTRdje7Ub15iJqKcqg5uJZ+iKqmd2CMxlgPpXi7+bU7bjfDIuvCvnGk7wewFEhCg==} - cpu: [arm] - os: [linux] - requiresBuild: true - optional: true - /@rollup/rollup-linux-arm-musleabihf@4.29.1: resolution: {integrity: sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ==} cpu: [arm] @@ -4787,13 +4752,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.4.1: - resolution: {integrity: sha512-phLb1fN3rq2o1j1v+nKxXUTSJnAhzhU0hLrl7Qzb0fLpwkGMHDem+o6d+ZI8+/BlTXfMU4kVWGvy6g9k/B8L6Q==} - cpu: [arm64] - os: [linux] - requiresBuild: true - optional: true - /@rollup/rollup-linux-arm64-musl@4.29.1: resolution: {integrity: sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA==} cpu: [arm64] @@ -4801,13 +4759,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-musl@4.4.1: - resolution: {integrity: sha512-M2sDtw4tf57VPSjbTAN/lz1doWUqO2CbQuX3L9K6GWIR5uw9j+ROKCvvUNBY8WUbMxwaoc8mH9HmmBKsLht7+w==} - cpu: [arm64] - os: [linux] - requiresBuild: true - optional: true - /@rollup/rollup-linux-loongarch64-gnu@4.29.1: resolution: {integrity: sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw==} cpu: [loong64] @@ -4843,13 +4794,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-x64-gnu@4.4.1: - resolution: {integrity: sha512-mHIlRLX+hx+30cD6c4BaBOsSqdnCE4ok7/KDvjHYAHoSuveoMMxIisZFvcLhUnyZcPBXDGZTuBoalcuh43UfQQ==} - cpu: [x64] - os: [linux] - requiresBuild: true - optional: true - /@rollup/rollup-linux-x64-musl@4.29.1: resolution: {integrity: sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA==} cpu: [x64] @@ -4857,13 +4801,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-x64-musl@4.4.1: - resolution: {integrity: sha512-tB+RZuDi3zxFx7vDrjTNGVLu2KNyzYv+UY8jz7e4TMEoAj7iEt8Qk6xVu6mo3pgjnsHj6jnq3uuRsHp97DLwOA==} - cpu: [x64] - os: [linux] - requiresBuild: true - optional: true - /@rollup/rollup-win32-arm64-msvc@4.29.1: resolution: {integrity: sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig==} cpu: [arm64] @@ -4871,13 +4808,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.4.1: - resolution: {integrity: sha512-Hdn39PzOQowK/HZzYpCuZdJC91PE6EaGbTe2VCA9oq2u18evkisQfws0Smh9QQGNNRa/T7MOuGNQoLeXhhE3PQ==} - cpu: [arm64] - os: [win32] - requiresBuild: true - optional: true - /@rollup/rollup-win32-ia32-msvc@4.29.1: resolution: {integrity: sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng==} cpu: [ia32] @@ -4885,13 +4815,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.4.1: - resolution: {integrity: sha512-tLpKb1Elm9fM8c5w3nl4N1eLTP4bCqTYw9tqUBxX8/hsxqHO3dxc2qPbZ9PNkdK4tg4iLEYn0pOUnVByRd2CbA==} - cpu: [ia32] - os: [win32] - requiresBuild: true - optional: true - /@rollup/rollup-win32-x64-msvc@4.29.1: resolution: {integrity: sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg==} cpu: [x64] @@ -4899,13 +4822,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-win32-x64-msvc@4.4.1: - resolution: {integrity: sha512-eAhItDX9yQtZVM3yvXS/VR3qPqcnXvnLyx1pLXl4JzyNMBNO3KC986t/iAg2zcMzpAp9JSvxB5VZGnBiNoA98w==} - cpu: [x64] - os: [win32] - requiresBuild: true - optional: true - /@rushstack/eslint-patch@1.7.2: resolution: {integrity: sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA==} dev: false @@ -5039,7 +4955,7 @@ packages: /@types/acorn@4.0.6: resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.6 dev: false /@types/aria-query@4.2.2: @@ -5148,23 +5064,20 @@ packages: /@types/eslint@8.56.2: resolution: {integrity: sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 dev: true /@types/estree-jsx@1.0.0: resolution: {integrity: sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.6 dev: false /@types/estree@0.0.39: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} dev: false - /@types/estree@1.0.0: - resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} - /@types/estree@1.0.6: resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} @@ -5565,7 +5478,7 @@ packages: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/type-utils': 5.62.0(eslint@8.56.0)(typescript@5.1.6) '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.1.6) - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) eslint: 8.56.0 graphemer: 1.4.0 ignore: 5.3.1 @@ -5590,7 +5503,7 @@ packages: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) eslint: 8.56.0 typescript: 5.1.6 transitivePeerDependencies: @@ -5617,7 +5530,7 @@ packages: dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.1.6) - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) eslint: 8.56.0 tsutils: 3.21.0(typescript@5.1.6) typescript: 5.1.6 @@ -5641,7 +5554,7 @@ packages: dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 @@ -5740,8 +5653,8 @@ packages: 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) + postcss: 8.4.49 + postcss-load-config: 4.0.2(postcss@8.4.49) vite: 5.1.8(@types/node@18.17.1) transitivePeerDependencies: - '@types/node' @@ -5761,8 +5674,8 @@ packages: 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) + postcss: 8.4.49 + postcss-load-config: 4.0.2(postcss@8.4.49) vite: 6.0.6(@types/node@18.17.1) transitivePeerDependencies: - '@types/node' @@ -5829,7 +5742,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -5838,7 +5751,7 @@ packages: resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} engines: {node: '>= 14'} dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: false @@ -6714,7 +6627,7 @@ packages: /capnp-ts@0.7.0: resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==} dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) tslib: 2.6.2 transitivePeerDependencies: - supports-color @@ -7239,7 +7152,7 @@ packages: commander: 5.1.0 common-tags: 1.8.2 dayjs: 1.11.1 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) enquirer: 2.3.6 eventemitter2: 6.4.5 execa: 4.1.0 @@ -7337,19 +7250,7 @@ packages: supports-color: 8.1.1 dev: false - /debug@4.3.4(supports-color@8.1.1): - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - supports-color: 8.1.1 - - /debug@4.4.0: + /debug@4.4.0(supports-color@8.1.1): resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} engines: {node: '>=6.0'} peerDependencies: @@ -7359,7 +7260,7 @@ packages: optional: true dependencies: ms: 2.1.3 - dev: false + supports-color: 8.1.1 /decamelize-keys@1.1.0: resolution: {integrity: sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==} @@ -7795,10 +7696,6 @@ packages: safe-array-concat: 1.1.0 dev: false - /es-module-lexer@1.4.1: - resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} - dev: false - /es-module-lexer@1.6.0: resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} dev: false @@ -7844,7 +7741,7 @@ packages: peerDependencies: esbuild: '>=0.12 <1' dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) esbuild: 0.17.6 transitivePeerDependencies: - supports-color @@ -8033,7 +7930,7 @@ packages: eslint: '*' eslint-plugin-import: '*' dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) enhanced-resolve: 5.15.0 eslint: 8.56.0 eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) @@ -8348,7 +8245,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -8415,13 +8312,13 @@ packages: /estree-util-attach-comments@2.1.1: resolution: {integrity: sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.6 dev: false /estree-util-attach-comments@3.0.0: resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.6 dev: false /estree-util-build-jsx@2.2.2: @@ -8654,7 +8551,7 @@ packages: engines: {node: '>= 10.17.0'} hasBin: true dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -9044,7 +8941,7 @@ packages: dependencies: basic-ftp: 5.0.4 data-uri-to-buffer: 6.0.2 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) fs-extra: 11.2.0 transitivePeerDependencies: - supports-color @@ -9268,7 +9165,7 @@ packages: /hast-util-to-estree@2.3.3: resolution: {integrity: sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.6 '@types/estree-jsx': 1.0.0 '@types/hast': 2.3.10 '@types/unist': 2.0.6 @@ -9290,7 +9187,7 @@ packages: /hast-util-to-estree@3.1.0: resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.6 '@types/estree-jsx': 1.0.0 '@types/hast': 3.0.3 comma-separated-tokens: 2.0.2 @@ -9389,7 +9286,7 @@ packages: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -9399,7 +9296,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: false @@ -9418,7 +9315,7 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -9428,7 +9325,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: false @@ -9459,13 +9356,13 @@ packages: safer-buffer: 2.1.2 dev: true - /icss-utils@5.1.0(postcss@8.4.35): + /icss-utils@5.1.0(postcss@8.4.49): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.35 + postcss: 8.4.49 dev: false /ieee754@1.1.13: @@ -9887,13 +9784,13 @@ packages: /is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.6 dev: false /is-reference@3.0.0: resolution: {integrity: sha512-Eo1W3wUoHWoCoVM4GVl/a+K0IgiqE5aIo4kJABFyMum1ZORlPkC+UC357sSQUL5w5QCE5kCC9upl75b7+7CY/Q==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.6 dev: false /is-regex@1.1.4: @@ -10039,7 +9936,7 @@ packages: resolution: {integrity: sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==} engines: {node: '>=8'} dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) istanbul-lib-coverage: 3.2.0 source-map: 0.6.1 transitivePeerDependencies: @@ -11498,7 +11395,7 @@ packages: /micromark-extension-mdx-expression@1.0.8: resolution: {integrity: sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.6 micromark-factory-mdx-expression: 1.0.9 micromark-factory-space: 1.0.0 micromark-util-character: 1.1.0 @@ -11511,7 +11408,7 @@ packages: /micromark-extension-mdx-expression@3.0.0: resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.6 devlop: 1.1.0 micromark-factory-mdx-expression: 2.0.1 micromark-factory-space: 2.0.0 @@ -11525,7 +11422,7 @@ packages: resolution: {integrity: sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==} dependencies: '@types/acorn': 4.0.6 - '@types/estree': 1.0.0 + '@types/estree': 1.0.6 estree-util-is-identifier-name: 2.1.0 micromark-factory-mdx-expression: 1.0.9 micromark-factory-space: 1.0.0 @@ -11540,7 +11437,7 @@ packages: resolution: {integrity: sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==} dependencies: '@types/acorn': 4.0.6 - '@types/estree': 1.0.0 + '@types/estree': 1.0.6 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 micromark-factory-mdx-expression: 2.0.1 @@ -11566,7 +11463,7 @@ packages: /micromark-extension-mdxjs-esm@1.0.5: resolution: {integrity: sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.6 micromark-core-commonmark: 1.0.1 micromark-util-character: 1.1.0 micromark-util-events-to-acorn: 1.2.3 @@ -11580,7 +11477,7 @@ packages: /micromark-extension-mdxjs-esm@3.0.0: resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.6 devlop: 1.1.0 micromark-core-commonmark: 2.0.0 micromark-util-character: 2.0.1 @@ -11653,7 +11550,7 @@ packages: /micromark-factory-mdx-expression@1.0.9: resolution: {integrity: sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.6 micromark-util-character: 1.1.0 micromark-util-events-to-acorn: 1.2.3 micromark-util-symbol: 1.0.0 @@ -11666,7 +11563,7 @@ packages: /micromark-factory-mdx-expression@2.0.1: resolution: {integrity: sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.6 devlop: 1.1.0 micromark-util-character: 2.0.1 micromark-util-events-to-acorn: 2.0.2 @@ -11823,7 +11720,7 @@ packages: resolution: {integrity: sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==} dependencies: '@types/acorn': 4.0.6 - '@types/estree': 1.0.0 + '@types/estree': 1.0.6 '@types/unist': 2.0.6 estree-util-visit: 1.2.1 micromark-util-symbol: 1.0.0 @@ -11836,7 +11733,7 @@ packages: resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==} dependencies: '@types/acorn': 4.0.6 - '@types/estree': 1.0.0 + '@types/estree': 1.0.6 '@types/unist': 3.0.2 devlop: 1.1.0 estree-util-visit: 2.0.0 @@ -11929,7 +11826,7 @@ packages: /micromark@2.11.4: resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) parse-entities: 2.0.0 transitivePeerDependencies: - supports-color @@ -11939,7 +11836,7 @@ packages: resolution: {integrity: sha512-QfjERBnPw0G9mxhOCkkbRP0n8SX8lIBLrEKeEVceviUukqVMv3hWE4AgNTOK/W6GWqtPvvIHg2Apl3j1Dxm6aQ==} dependencies: '@types/debug': 4.1.8 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) micromark-core-commonmark: 1.0.1 micromark-factory-space: 1.0.0 micromark-util-character: 1.1.0 @@ -11962,7 +11859,7 @@ packages: resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} dependencies: '@types/debug': 4.1.8 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) decode-named-character-reference: 1.0.2 devlop: 1.1.0 micromark-core-commonmark: 2.0.0 @@ -12192,9 +12089,6 @@ packages: /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -12632,7 +12526,7 @@ packages: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) get-uri: 6.0.3 http-proxy-agent: 7.0.1 https-proxy-agent: 7.0.3 @@ -12804,9 +12698,6 @@ packages: is-reference: 3.0.0 dev: false - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - /picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -12878,26 +12769,15 @@ packages: engines: {node: '>=4'} dev: false - /postcss-discard-duplicates@5.1.0(postcss@8.4.35): + /postcss-discard-duplicates@5.1.0(postcss@8.4.49): resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.35 + postcss: 8.4.49 dev: false - /postcss-import@15.1.0(postcss@8.4.35): - resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} - engines: {node: '>=14.0.0'} - peerDependencies: - postcss: ^8.0.0 - dependencies: - postcss: 8.4.35 - postcss-value-parser: 4.2.0 - read-cache: 1.0.0 - resolve: 1.22.8 - /postcss-import@15.1.0(postcss@8.4.49): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} @@ -12908,18 +12788,17 @@ packages: postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 - dev: true - /postcss-js@4.0.1(postcss@8.4.35): + /postcss-js@4.0.1(postcss@8.4.49): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.35 + postcss: 8.4.49 - /postcss-load-config@4.0.2(postcss@8.4.35): + /postcss-load-config@4.0.2(postcss@8.4.49): resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} engines: {node: '>= 14'} peerDependencies: @@ -12932,73 +12811,73 @@ packages: optional: true dependencies: lilconfig: 3.0.0 - postcss: 8.4.35 + postcss: 8.4.49 yaml: 2.3.4 - /postcss-modules-extract-imports@3.0.0(postcss@8.4.35): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.49): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.35 + postcss: 8.4.49 dev: false - /postcss-modules-local-by-default@4.0.4(postcss@8.4.35): + /postcss-modules-local-by-default@4.0.4(postcss@8.4.49): resolution: {integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.35) - postcss: 8.4.35 + icss-utils: 5.1.0(postcss@8.4.49) + postcss: 8.4.49 postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 dev: false - /postcss-modules-scope@3.1.1(postcss@8.4.35): + /postcss-modules-scope@3.1.1(postcss@8.4.49): resolution: {integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.35 + postcss: 8.4.49 postcss-selector-parser: 6.0.15 dev: false - /postcss-modules-values@4.0.0(postcss@8.4.35): + /postcss-modules-values@4.0.0(postcss@8.4.49): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.35) - postcss: 8.4.35 + icss-utils: 5.1.0(postcss@8.4.49) + postcss: 8.4.49 dev: false - /postcss-modules@6.0.0(postcss@8.4.35): + /postcss-modules@6.0.0(postcss@8.4.49): resolution: {integrity: sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==} peerDependencies: postcss: ^8.0.0 dependencies: generic-names: 4.0.0 - icss-utils: 5.1.0(postcss@8.4.35) + icss-utils: 5.1.0(postcss@8.4.49) lodash.camelcase: 4.3.0 - postcss: 8.4.35 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.35) - postcss-modules-local-by-default: 4.0.4(postcss@8.4.35) - postcss-modules-scope: 3.1.1(postcss@8.4.35) - postcss-modules-values: 4.0.0(postcss@8.4.35) + postcss: 8.4.49 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.49) + postcss-modules-local-by-default: 4.0.4(postcss@8.4.49) + postcss-modules-scope: 3.1.1(postcss@8.4.49) + postcss-modules-values: 4.0.0(postcss@8.4.49) string-hash: 1.1.3 dev: false - /postcss-nested@6.0.1(postcss@8.4.35): + /postcss-nested@6.0.1(postcss@8.4.49): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.35 + postcss: 8.4.49 postcss-selector-parser: 6.0.15 /postcss-selector-parser@6.0.15: @@ -13011,14 +12890,6 @@ packages: /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - /postcss@8.4.49: resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} engines: {node: ^10 || ^12 || >=14} @@ -13210,7 +13081,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) http-proxy-agent: 7.0.1 https-proxy-agent: 7.0.3 lru-cache: 7.18.3 @@ -13842,25 +13713,6 @@ packages: '@rollup/rollup-win32-x64-msvc': 4.29.1 fsevents: 2.3.3 - /rollup@4.4.1: - resolution: {integrity: sha512-idZzrUpWSblPJX66i+GzrpjKE3vbYrlWirUHteoAbjKReZwa0cohAErOYA5efoMmNCdvG9yrJS+w9Kl6csaH4w==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.4.1 - '@rollup/rollup-android-arm64': 4.4.1 - '@rollup/rollup-darwin-arm64': 4.4.1 - '@rollup/rollup-darwin-x64': 4.4.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.4.1 - '@rollup/rollup-linux-arm64-gnu': 4.4.1 - '@rollup/rollup-linux-arm64-musl': 4.4.1 - '@rollup/rollup-linux-x64-gnu': 4.4.1 - '@rollup/rollup-linux-x64-musl': 4.4.1 - '@rollup/rollup-win32-arm64-msvc': 4.4.1 - '@rollup/rollup-win32-ia32-msvc': 4.4.1 - '@rollup/rollup-win32-x64-msvc': 4.4.1 - fsevents: 2.3.3 - /rrweb-cssom@0.6.0: resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} dev: true @@ -14114,7 +13966,7 @@ packages: dependencies: '@kwsites/file-exists': 1.1.1 '@kwsites/promise-deferred': 1.1.1 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: false @@ -14180,7 +14032,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) socks: 2.7.3 transitivePeerDependencies: - supports-color @@ -14211,10 +14063,6 @@ packages: sort-object-keys: 1.1.3 dev: false - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - /source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -14558,7 +14406,7 @@ packages: dependencies: component-emitter: 1.3.0 cookiejar: 2.1.4 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) fast-safe-stringify: 2.1.1 form-data: 4.0.0 formidable: 2.1.2 @@ -14624,12 +14472,12 @@ packages: micromatch: 4.0.5 normalize-path: 3.0.0 object-hash: 3.0.0 - picocolors: 1.0.0 - postcss: 8.4.35 - postcss-import: 15.1.0(postcss@8.4.35) - postcss-js: 4.0.1(postcss@8.4.35) - postcss-load-config: 4.0.2(postcss@8.4.35) - postcss-nested: 6.0.1(postcss@8.4.35) + picocolors: 1.1.1 + postcss: 8.4.49 + postcss-import: 15.1.0(postcss@8.4.49) + postcss-js: 4.0.1(postcss@8.4.49) + postcss-load-config: 4.0.2(postcss@8.4.49) + postcss-nested: 6.0.1(postcss@8.4.49) postcss-selector-parser: 6.0.15 resolve: 1.22.8 sucrase: 3.35.0 @@ -15268,7 +15116,7 @@ packages: dependencies: browserslist: 4.22.2 escalade: 3.1.1 - picocolors: 1.0.0 + picocolors: 1.1.1 /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -15425,9 +15273,9 @@ packages: hasBin: true dependencies: cac: 6.7.14 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) pathe: 1.1.2 - picocolors: 1.0.0 + picocolors: 1.1.1 vite: 5.1.8(@types/node@18.17.1) transitivePeerDependencies: - '@types/node' @@ -15445,7 +15293,7 @@ packages: hasBin: true dependencies: cac: 6.7.14 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) es-module-lexer: 1.6.0 pathe: 1.1.2 vite: 6.0.6(@types/node@18.17.1) @@ -15472,7 +15320,7 @@ packages: vite: optional: true dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) globrex: 0.1.2 tsconfck: 3.0.2(typescript@5.1.6) vite: 5.1.8(@types/node@18.17.1) @@ -15488,7 +15336,7 @@ packages: vite: optional: true dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) globrex: 0.1.2 tsconfck: 3.0.2(typescript@5.1.6) vite: 6.0.6(@types/node@18.17.1) @@ -15526,8 +15374,8 @@ packages: dependencies: '@types/node': 18.17.1 esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.4.1 + postcss: 8.4.49 + rollup: 4.29.1 optionalDependencies: fsevents: 2.3.3 From 43ff71f4c51ff574f9ee36d39136842cd847c10d Mon Sep 17 00:00:00 2001 From: Matt Brophy Date: Tue, 18 Feb 2025 15:20:31 -0500 Subject: [PATCH 07/18] Enter prerelease mode --- .changeset/pre.json | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 .changeset/pre.json diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 00000000000..50d65fb719c --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,33 @@ +{ + "mode": "pre", + "tag": "pre", + "initialVersions": { + "integration": "0.0.0", + "integration-cf-template": "0.0.0", + "integration-deno-template": "0.0.0", + "integration-node-template": "0.0.0", + "integration-vite-5-template": "0.0.0", + "integration-vite-6-template": "0.0.0", + "integration-vite-cloudflare-template": "0.0.0", + "create-remix": "2.15.3", + "remix": "2.15.3", + "@remix-run/architect": "2.15.3", + "@remix-run/cloudflare": "2.15.3", + "@remix-run/cloudflare-pages": "2.15.3", + "@remix-run/cloudflare-workers": "2.15.3", + "@remix-run/css-bundle": "2.15.3", + "@remix-run/deno": "2.15.3", + "@remix-run/dev": "2.15.3", + "@remix-run/eslint-config": "2.15.3", + "@remix-run/express": "2.15.3", + "@remix-run/fs-routes": "2.15.3", + "@remix-run/node": "2.15.3", + "@remix-run/react": "2.15.3", + "@remix-run/route-config": "2.15.3", + "@remix-run/routes-option-adapter": "2.15.3", + "@remix-run/serve": "2.15.3", + "@remix-run/server-runtime": "2.15.3", + "@remix-run/testing": "2.15.3" + }, + "changesets": [] +} From a71dff91525efcd1b4f77eca9c623bf2bcb49454 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 19 Feb 2025 10:21:19 -0500 Subject: [PATCH 08/18] chore: Update version for release (pre) (#10486) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 6 +++++- packages/create-remix/CHANGELOG.md | 2 ++ packages/create-remix/package.json | 2 +- packages/remix-architect/CHANGELOG.md | 7 +++++++ packages/remix-architect/package.json | 2 +- packages/remix-cloudflare-pages/CHANGELOG.md | 7 +++++++ packages/remix-cloudflare-pages/package.json | 2 +- packages/remix-cloudflare-workers/CHANGELOG.md | 7 +++++++ packages/remix-cloudflare-workers/package.json | 2 +- packages/remix-cloudflare/CHANGELOG.md | 7 +++++++ packages/remix-cloudflare/package.json | 2 +- packages/remix-css-bundle/CHANGELOG.md | 2 ++ packages/remix-css-bundle/package.json | 2 +- packages/remix-deno/CHANGELOG.md | 7 +++++++ packages/remix-deno/package.json | 2 +- packages/remix-dev/CHANGELOG.md | 15 +++++++++++++++ packages/remix-dev/package.json | 6 +++--- packages/remix-eslint-config/CHANGELOG.md | 2 ++ packages/remix-eslint-config/package.json | 2 +- packages/remix-express/CHANGELOG.md | 7 +++++++ packages/remix-express/package.json | 2 +- packages/remix-fs-routes/CHANGELOG.md | 8 ++++++++ packages/remix-fs-routes/package.json | 6 +++--- packages/remix-node/CHANGELOG.md | 7 +++++++ packages/remix-node/package.json | 2 +- packages/remix-react/CHANGELOG.md | 8 ++++++++ packages/remix-react/package.json | 2 +- packages/remix-route-config/CHANGELOG.md | 7 +++++++ packages/remix-route-config/package.json | 4 ++-- packages/remix-routes-option-adapter/CHANGELOG.md | 8 ++++++++ packages/remix-routes-option-adapter/package.json | 6 +++--- packages/remix-serve/CHANGELOG.md | 8 ++++++++ packages/remix-serve/package.json | 2 +- packages/remix-server-runtime/CHANGELOG.md | 2 ++ packages/remix-server-runtime/package.json | 2 +- packages/remix-testing/CHANGELOG.md | 8 ++++++++ packages/remix-testing/package.json | 2 +- packages/remix/package.json | 2 +- 38 files changed, 150 insertions(+), 27 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 50d65fb719c..8847fbab4f7 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -29,5 +29,9 @@ "@remix-run/server-runtime": "2.15.3", "@remix-run/testing": "2.15.3" }, - "changesets": [] + "changesets": [ + "clean-kangaroos-juggle", + "happy-ravens-burn", + "lovely-files-move" + ] } diff --git a/packages/create-remix/CHANGELOG.md b/packages/create-remix/CHANGELOG.md index 8583c00702f..c8eca3f763f 100644 --- a/packages/create-remix/CHANGELOG.md +++ b/packages/create-remix/CHANGELOG.md @@ -1,5 +1,7 @@ # `create-remix` +## 2.16.0-pre.0 + ## 2.15.3 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.15.3. diff --git a/packages/create-remix/package.json b/packages/create-remix/package.json index 1df664cd99c..f0d0650db9a 100644 --- a/packages/create-remix/package.json +++ b/packages/create-remix/package.json @@ -1,6 +1,6 @@ { "name": "create-remix", - "version": "2.15.3", + "version": "2.16.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 fc3bdabe74f..ada7cf18615 100644 --- a/packages/remix-architect/CHANGELOG.md +++ b/packages/remix-architect/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/architect` +## 2.16.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/node@2.16.0-pre.0` + ## 2.15.3 ### Patch Changes diff --git a/packages/remix-architect/package.json b/packages/remix-architect/package.json index 592bf38bfdd..3807ebac792 100644 --- a/packages/remix-architect/package.json +++ b/packages/remix-architect/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/architect", - "version": "2.15.3", + "version": "2.16.0-pre.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 46a1d0e8d55..6b290e486c3 100644 --- a/packages/remix-cloudflare-pages/CHANGELOG.md +++ b/packages/remix-cloudflare-pages/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/cloudflare-pages` +## 2.16.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/cloudflare@2.16.0-pre.0` + ## 2.15.3 ### Patch Changes diff --git a/packages/remix-cloudflare-pages/package.json b/packages/remix-cloudflare-pages/package.json index 96d11c565ae..315baf79d81 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.15.3", + "version": "2.16.0-pre.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 d68264ed982..e0cdc60ce47 100644 --- a/packages/remix-cloudflare-workers/CHANGELOG.md +++ b/packages/remix-cloudflare-workers/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/cloudflare-workers` +## 2.16.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/cloudflare@2.16.0-pre.0` + ## 2.15.3 ### Patch Changes diff --git a/packages/remix-cloudflare-workers/package.json b/packages/remix-cloudflare-workers/package.json index f4ae720c51d..e5e118d2d8d 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.15.3", + "version": "2.16.0-pre.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 95fd6bc9e74..7c6dbb594ba 100644 --- a/packages/remix-cloudflare/CHANGELOG.md +++ b/packages/remix-cloudflare/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/cloudflare` +## 2.16.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/server-runtime@2.16.0-pre.0` + ## 2.15.3 ### Patch Changes diff --git a/packages/remix-cloudflare/package.json b/packages/remix-cloudflare/package.json index 9ee6962abda..da6fbac9e1b 100644 --- a/packages/remix-cloudflare/package.json +++ b/packages/remix-cloudflare/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/cloudflare", - "version": "2.15.3", + "version": "2.16.0-pre.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 343ec9ea9cd..76312ccb4eb 100644 --- a/packages/remix-css-bundle/CHANGELOG.md +++ b/packages/remix-css-bundle/CHANGELOG.md @@ -1,5 +1,7 @@ # `@remix-run/css-bundle` +## 2.16.0-pre.0 + ## 2.15.3 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.15.3. diff --git a/packages/remix-css-bundle/package.json b/packages/remix-css-bundle/package.json index 24cde8184fc..4eabb1d1806 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.15.3", + "version": "2.16.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 f1493bd7e8f..cedccb90179 100644 --- a/packages/remix-deno/CHANGELOG.md +++ b/packages/remix-deno/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/deno` +## 2.16.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/server-runtime@2.16.0-pre.0` + ## 2.15.3 ### Patch Changes diff --git a/packages/remix-deno/package.json b/packages/remix-deno/package.json index be75cc4fd78..a6790b1df57 100644 --- a/packages/remix-deno/package.json +++ b/packages/remix-deno/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/deno", - "version": "2.15.3", + "version": "2.16.0-pre.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 47ca1e8c299..d424134772f 100644 --- a/packages/remix-dev/CHANGELOG.md +++ b/packages/remix-dev/CHANGELOG.md @@ -1,5 +1,20 @@ # `@remix-run/dev` +## 2.16.0-pre.0 + +### Minor Changes + +- Add Vite v6 support ([#10351](https://github.com/remix-run/remix/pull/10351)) + +### Patch Changes + +- Clean up vite-node dev server when build finishes ([#10477](https://github.com/remix-run/remix/pull/10477)) +- Updated dependencies: + - `@remix-run/react@2.16.0-pre.0` + - `@remix-run/node@2.16.0-pre.0` + - `@remix-run/serve@2.16.0-pre.0` + - `@remix-run/server-runtime@2.16.0-pre.0` + ## 2.15.3 ### Patch Changes diff --git a/packages/remix-dev/package.json b/packages/remix-dev/package.json index 872be3e0dce..d8ebc658f59 100644 --- a/packages/remix-dev/package.json +++ b/packages/remix-dev/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/dev", - "version": "2.15.3", + "version": "2.16.0-pre.0", "description": "Dev tools and CLI for Remix", "homepage": "https://remix.run", "bugs": { @@ -109,8 +109,8 @@ "wrangler": "^3.28.2" }, "peerDependencies": { - "@remix-run/react": "^2.15.3", - "@remix-run/serve": "^2.15.3", + "@remix-run/react": "^2.16.0-pre.0", + "@remix-run/serve": "^2.16.0-pre.0", "typescript": "^5.1.0", "vite": "^5.1.0 || ^6.0.0", "wrangler": "^3.28.2" diff --git a/packages/remix-eslint-config/CHANGELOG.md b/packages/remix-eslint-config/CHANGELOG.md index 2e5f7ab8ab5..cd403dba088 100644 --- a/packages/remix-eslint-config/CHANGELOG.md +++ b/packages/remix-eslint-config/CHANGELOG.md @@ -1,5 +1,7 @@ # `@remix-run/eslint-config` +## 2.16.0-pre.0 + ## 2.15.3 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.15.3. diff --git a/packages/remix-eslint-config/package.json b/packages/remix-eslint-config/package.json index c80dcd69250..31af0aec96b 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.15.3", + "version": "2.16.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 382648d2d47..b57fec1723e 100644 --- a/packages/remix-express/CHANGELOG.md +++ b/packages/remix-express/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/express` +## 2.16.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/node@2.16.0-pre.0` + ## 2.15.3 ### Patch Changes diff --git a/packages/remix-express/package.json b/packages/remix-express/package.json index 9cb8e449d85..926ac49d518 100644 --- a/packages/remix-express/package.json +++ b/packages/remix-express/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/express", - "version": "2.15.3", + "version": "2.16.0-pre.0", "description": "Express server request handler for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" diff --git a/packages/remix-fs-routes/CHANGELOG.md b/packages/remix-fs-routes/CHANGELOG.md index 3de1e0846ad..528490bbf14 100644 --- a/packages/remix-fs-routes/CHANGELOG.md +++ b/packages/remix-fs-routes/CHANGELOG.md @@ -1,5 +1,13 @@ # `@remix-run/fs-routes` +## 2.16.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/dev@2.16.0-pre.0` + - `@remix-run/route-config@2.16.0-pre.0` + ## 2.15.3 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.15.3. diff --git a/packages/remix-fs-routes/package.json b/packages/remix-fs-routes/package.json index 7675844fb80..b80f2bd60b4 100644 --- a/packages/remix-fs-routes/package.json +++ b/packages/remix-fs-routes/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/fs-routes", - "version": "2.15.3", + "version": "2.16.0-pre.0", "description": "Config-based file system routing conventions, for use within routes.ts", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -22,8 +22,8 @@ "typescript": "^5.1.6" }, "peerDependencies": { - "@remix-run/dev": "^2.15.3", - "@remix-run/route-config": "^2.15.3", + "@remix-run/dev": "^2.16.0-pre.0", + "@remix-run/route-config": "^2.16.0-pre.0", "typescript": "^5.1.0" }, "peerDependenciesMeta": { diff --git a/packages/remix-node/CHANGELOG.md b/packages/remix-node/CHANGELOG.md index c1351cee9df..417b81910db 100644 --- a/packages/remix-node/CHANGELOG.md +++ b/packages/remix-node/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/node` +## 2.16.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/server-runtime@2.16.0-pre.0` + ## 2.15.3 ### Patch Changes diff --git a/packages/remix-node/package.json b/packages/remix-node/package.json index 8882a80a3c4..f024633a2da 100644 --- a/packages/remix-node/package.json +++ b/packages/remix-node/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/node", - "version": "2.15.3", + "version": "2.16.0-pre.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 b84ff4e4772..e1bed6b68f5 100644 --- a/packages/remix-react/CHANGELOG.md +++ b/packages/remix-react/CHANGELOG.md @@ -1,5 +1,13 @@ # `@remix-run/react` +## 2.16.0-pre.0 + +### Patch Changes + +- Don't apply Single Fetch revalidation de-optimization when in SPA mode since there is no server HTTP request ([#10479](https://github.com/remix-run/remix/pull/10479)) +- Updated dependencies: + - `@remix-run/server-runtime@2.16.0-pre.0` + ## 2.15.3 ### Patch Changes diff --git a/packages/remix-react/package.json b/packages/remix-react/package.json index 2dd7bd6efb2..8cf2a6c6846 100644 --- a/packages/remix-react/package.json +++ b/packages/remix-react/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/react", - "version": "2.15.3", + "version": "2.16.0-pre.0", "description": "React DOM bindings for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" diff --git a/packages/remix-route-config/CHANGELOG.md b/packages/remix-route-config/CHANGELOG.md index c6a385bac25..e26f7041c65 100644 --- a/packages/remix-route-config/CHANGELOG.md +++ b/packages/remix-route-config/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/route-config` +## 2.16.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/dev@2.16.0-pre.0` + ## 2.15.3 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.15.3. diff --git a/packages/remix-route-config/package.json b/packages/remix-route-config/package.json index 2300c84e6c1..87b22b0c336 100644 --- a/packages/remix-route-config/package.json +++ b/packages/remix-route-config/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/route-config", - "version": "2.15.3", + "version": "2.16.0-pre.0", "description": "Config-based routing utilities, for use within routes.ts", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -26,7 +26,7 @@ "vite": "^6.0.0" }, "peerDependencies": { - "@remix-run/dev": "^2.15.3", + "@remix-run/dev": "^2.16.0-pre.0", "typescript": "^5.1.0" }, "peerDependenciesMeta": { diff --git a/packages/remix-routes-option-adapter/CHANGELOG.md b/packages/remix-routes-option-adapter/CHANGELOG.md index 09a8d55bae6..a4ffd7c6a30 100644 --- a/packages/remix-routes-option-adapter/CHANGELOG.md +++ b/packages/remix-routes-option-adapter/CHANGELOG.md @@ -1,5 +1,13 @@ # `@remix-run/routes-option-adapter` +## 2.16.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/dev@2.16.0-pre.0` + - `@remix-run/route-config@2.16.0-pre.0` + ## 2.15.3 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.15.3. diff --git a/packages/remix-routes-option-adapter/package.json b/packages/remix-routes-option-adapter/package.json index 7314fbca2cd..3f94ce591dc 100644 --- a/packages/remix-routes-option-adapter/package.json +++ b/packages/remix-routes-option-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/routes-option-adapter", - "version": "2.15.3", + "version": "2.16.0-pre.0", "description": "Adapter for Remix's \"routes\" config option, for use within routes.ts", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -22,8 +22,8 @@ "typescript": "^5.1.6" }, "peerDependencies": { - "@remix-run/dev": "^2.15.3", - "@remix-run/route-config": "^2.15.3", + "@remix-run/dev": "^2.16.0-pre.0", + "@remix-run/route-config": "^2.16.0-pre.0", "typescript": "^5.1.0" }, "peerDependenciesMeta": { diff --git a/packages/remix-serve/CHANGELOG.md b/packages/remix-serve/CHANGELOG.md index 909bc83f24f..e88a68d9a37 100644 --- a/packages/remix-serve/CHANGELOG.md +++ b/packages/remix-serve/CHANGELOG.md @@ -1,5 +1,13 @@ # `@remix-run/serve` +## 2.16.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/express@2.16.0-pre.0` + - `@remix-run/node@2.16.0-pre.0` + ## 2.15.3 ### Patch Changes diff --git a/packages/remix-serve/package.json b/packages/remix-serve/package.json index f97cd4fd41b..512e355e02e 100644 --- a/packages/remix-serve/package.json +++ b/packages/remix-serve/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/serve", - "version": "2.15.3", + "version": "2.16.0-pre.0", "description": "Production application server for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" diff --git a/packages/remix-server-runtime/CHANGELOG.md b/packages/remix-server-runtime/CHANGELOG.md index bd02ccba875..93999959c71 100644 --- a/packages/remix-server-runtime/CHANGELOG.md +++ b/packages/remix-server-runtime/CHANGELOG.md @@ -1,5 +1,7 @@ # `@remix-run/server-runtime` +## 2.16.0-pre.0 + ## 2.15.3 ### Patch Changes diff --git a/packages/remix-server-runtime/package.json b/packages/remix-server-runtime/package.json index 5a7b709ffd4..adb84adc86d 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.15.3", + "version": "2.16.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 baf7d66e7ca..5db0c6cb9f3 100644 --- a/packages/remix-testing/CHANGELOG.md +++ b/packages/remix-testing/CHANGELOG.md @@ -1,5 +1,13 @@ # `@remix-run/testing` +## 2.16.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/react@2.16.0-pre.0` + - `@remix-run/node@2.16.0-pre.0` + ## 2.15.3 ### Patch Changes diff --git a/packages/remix-testing/package.json b/packages/remix-testing/package.json index d5bcb8ff9a3..6258183d009 100644 --- a/packages/remix-testing/package.json +++ b/packages/remix-testing/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/testing", - "version": "2.15.3", + "version": "2.16.0-pre.0", "description": "Testing utilities for Remix apps", "homepage": "https://remix.run", "bugs": { diff --git a/packages/remix/package.json b/packages/remix/package.json index df70589cbb1..7cc25e33b05 100644 --- a/packages/remix/package.json +++ b/packages/remix/package.json @@ -1,6 +1,6 @@ { "name": "remix", - "version": "2.15.3", + "version": "2.16.0-pre.0", "description": "A framework for building better websites", "homepage": "https://remix.run", "bugs": { From b5dcea31a0fde3fea9dcbc083e4c544865d71c7d Mon Sep 17 00:00:00 2001 From: Matt Brophy Date: Mon, 24 Feb 2025 09:57:44 -0500 Subject: [PATCH 09/18] Release notes --- CHANGELOG.md | 114 +++++++++++++++++++++++++++++---------------------- 1 file changed, 66 insertions(+), 48 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f815e7dac7..498ea209069 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,136 +13,139 @@ We manage release notes in this file instead of the paginated Github Releases Pa Table of Contents - [Remix Releases](#remix-releases) - - [v2.15.3](#v2153) + - [v2.16.0](#v2160) + - [Minor Changes](#minor-changes) - [Patch Changes](#patch-changes) + - [v2.15.3](#v2153) + - [Patch Changes](#patch-changes-1) - [Updated Dependencies](#updated-dependencies) - [v2.15.2](#v2152) - - [Patch Changes](#patch-changes-1) + - [Patch Changes](#patch-changes-2) - [Updated Dependencies](#updated-dependencies-1) - [v2.15.1](#v2151) - - [Patch Changes](#patch-changes-2) - - [v2.15.0](#v2150) - [Patch Changes](#patch-changes-3) - - [v2.14.0](#v2140) - - [Minor Changes](#minor-changes) + - [v2.15.0](#v2150) - [Patch Changes](#patch-changes-4) + - [v2.14.0](#v2140) + - [Minor Changes](#minor-changes-1) + - [Patch Changes](#patch-changes-5) - [Updated Dependencies](#updated-dependencies-2) - [Changes by Package](#changes-by-package) - [v2.13.1](#v2131) - - [Patch Changes](#patch-changes-5) + - [Patch Changes](#patch-changes-6) - [v2.13.0](#v2130) - [What's Changed](#whats-changed) - [Stabilized APIs](#stabilized-apis) - - [Minor Changes](#minor-changes-1) - - [Patch Changes](#patch-changes-6) + - [Minor Changes](#minor-changes-2) + - [Patch Changes](#patch-changes-7) - [Updated Dependencies](#updated-dependencies-3) - [Changes by Package](#changes-by-package-1) - [v2.12.1](#v2121) - - [Patch Changes](#patch-changes-7) + - [Patch Changes](#patch-changes-8) - [Changes by Package](#changes-by-package-2) - [v2.12.0](#v2120) - [What's Changed](#whats-changed-1) - [Future Flag for Automatic Dependency Optimization (unstable)](#future-flag-for-automatic-dependency-optimization-unstable) - [Improved Single Fetch Type Safety (unstable)](#improved-single-fetch-type-safety-unstable) - [Updates to Single Fetch Revalidation Behavior (unstable)](#updates-to-single-fetch-revalidation-behavior-unstable) - - [Minor Changes](#minor-changes-2) - - [Patch Changes](#patch-changes-8) + - [Minor Changes](#minor-changes-3) + - [Patch Changes](#patch-changes-9) - [Updated Dependencies](#updated-dependencies-4) - [Changes by Package](#changes-by-package-3) - [v2.11.2](#v2112) - - [Patch Changes](#patch-changes-9) + - [Patch Changes](#patch-changes-10) - [Updated Dependencies](#updated-dependencies-5) - [Changes by Package](#changes-by-package-4) - [v2.11.1](#v2111) - - [Patch Changes](#patch-changes-10) + - [Patch Changes](#patch-changes-11) - [Changes by Package](#changes-by-package-5) - [v2.11.0](#v2110) - [What's Changed](#whats-changed-2) - [Renamed `unstable_fogOfWar` future flag to `unstable_lazyRouteDiscovery` (unstable)](#renamed-unstable_fogofwar-future-flag-to-unstable_lazyroutediscovery-unstable) - [Removed `response` stub in Single Fetch (unstable)](#removed-response-stub-in-single-fetch-unstable) - - [Minor Changes](#minor-changes-3) - - [Patch Changes](#patch-changes-11) + - [Minor Changes](#minor-changes-4) + - [Patch Changes](#patch-changes-12) - [Updated Dependencies](#updated-dependencies-6) - [Changes by Package](#changes-by-package-6) - [v2.10.3](#v2103) - - [Patch Changes](#patch-changes-12) + - [Patch Changes](#patch-changes-13) - [Updated Dependencies](#updated-dependencies-7) - [Changes by Package](#changes-by-package-7) - [v2.10.2](#v2102) - - [Patch Changes](#patch-changes-13) + - [Patch Changes](#patch-changes-14) - [Changes by Package](#changes-by-package-8) - [v2.10.1](#v2101) - - [Patch Changes](#patch-changes-14) + - [Patch Changes](#patch-changes-15) - [Updated Dependencies](#updated-dependencies-8) - [Changes by Package](#changes-by-package-9) - [v2.10.0](#v2100) - [What's Changed](#whats-changed-3) - [Lazy Route Discovery (a.k.a. "Fog of War")](#lazy-route-discovery-aka-fog-of-war) - - [Minor Changes](#minor-changes-4) - - [Patch Changes](#patch-changes-15) + - [Minor Changes](#minor-changes-5) + - [Patch Changes](#patch-changes-16) - [Updated Dependencies](#updated-dependencies-9) - [Changes by Package](#changes-by-package-10) - [v2.9.2](#v292) - [What's Changed](#whats-changed-4) - [Updated Type-Safety for Single Fetch](#updated-type-safety-for-single-fetch) - - [Patch Changes](#patch-changes-16) + - [Patch Changes](#patch-changes-17) - [Updated Dependencies](#updated-dependencies-10) - [Changes by Package](#changes-by-package-11) - [v2.9.1](#v291) - - [Patch Changes](#patch-changes-17) + - [Patch Changes](#patch-changes-18) - [Changes by Package](#changes-by-package-12) - [v2.9.0](#v290) - [What's Changed](#whats-changed-5) - [Single Fetch (unstable)](#single-fetch-unstable) - [Undici](#undici) - - [Minor Changes](#minor-changes-5) - - [Patch Changes](#patch-changes-18) + - [Minor Changes](#minor-changes-6) + - [Patch Changes](#patch-changes-19) - [Updated Dependencies](#updated-dependencies-11) - [Changes by Package](#changes-by-package-13) - [v2.8.1](#v281) - - [Patch Changes](#patch-changes-19) + - [Patch Changes](#patch-changes-20) - [Updated Dependencies](#updated-dependencies-12) - [Changes by Package](#changes-by-package-14) - [v2.8.0](#v280) - - [Minor Changes](#minor-changes-6) - - [Patch Changes](#patch-changes-20) + - [Minor Changes](#minor-changes-7) + - [Patch Changes](#patch-changes-21) - [Updated Dependencies](#updated-dependencies-13) - [Changes by Package](#changes-by-package-15) - [2.7.2](#272) - - [Patch Changes](#patch-changes-21) - - [2.7.1](#271) - [Patch Changes](#patch-changes-22) + - [2.7.1](#271) + - [Patch Changes](#patch-changes-23) - [v2.7.0](#v270) - [What's Changed](#whats-changed-6) - [Stabilized Vite Plugin](#stabilized-vite-plugin) - [New `Layout` Export](#new-layout-export) - [Basename support](#basename-support) - [Cloudflare Proxy as a Vite Plugin](#cloudflare-proxy-as-a-vite-plugin) - - [Minor Changes](#minor-changes-7) - - [Patch Changes](#patch-changes-23) + - [Minor Changes](#minor-changes-8) + - [Patch Changes](#patch-changes-24) - [Updated Dependencies](#updated-dependencies-14) - [Changes by Package](#changes-by-package-16) - [v2.6.0](#v260) - [What's Changed](#whats-changed-7) - [Unstable Vite Plugin updates](#unstable-vite-plugin-updates) - - [Minor Changes](#minor-changes-8) - - [Patch Changes](#patch-changes-24) + - [Minor Changes](#minor-changes-9) + - [Patch Changes](#patch-changes-25) - [Updated Dependencies](#updated-dependencies-15) - [Changes by Package](#changes-by-package-17) - [v2.5.1](#v251) - - [Patch Changes](#patch-changes-25) + - [Patch Changes](#patch-changes-26) - [Updated Dependencies](#updated-dependencies-16) - [Changes by Package](#changes-by-package-18) - [v2.5.0](#v250) - [What's Changed](#whats-changed-8) - [SPA Mode (unstable)](#spa-mode-unstable) - [Server Bundles (unstable)](#server-bundles-unstable) - - [Minor Changes](#minor-changes-9) - - [Patch Changes](#patch-changes-26) + - [Minor Changes](#minor-changes-10) + - [Patch Changes](#patch-changes-27) - [Updated Dependencies](#updated-dependencies-17) - [Changes by Package](#changes-by-package-19) - [v2.4.1](#v241) - - [Patch Changes](#patch-changes-27) + - [Patch Changes](#patch-changes-28) - [Updated Dependencies](#updated-dependencies-18) - [Changes by Package](#changes-by-package-20) - [v2.4.0](#v240) @@ -150,20 +153,20 @@ We manage release notes in this file instead of the paginated Github Releases Pa - [Client Data](#client-data) - [`future.v3_relativeSplatPath`](#futurev3_relativesplatpath) - [Vite Updates (Unstable)](#vite-updates-unstable) - - [Minor Changes](#minor-changes-10) - - [Patch Changes](#patch-changes-28) + - [Minor Changes](#minor-changes-11) + - [Patch Changes](#patch-changes-29) - [Updated Dependencies](#updated-dependencies-19) - [Changes by Package](#changes-by-package-21) - [v2.3.1](#v231) - - [Patch Changes](#patch-changes-29) + - [Patch Changes](#patch-changes-30) - [Updated Dependencies](#updated-dependencies-20) - [Changes by Package](#changes-by-package-22) - [v2.3.0](#v230) - [What's Changed](#whats-changed-10) - [Stabilized `useBlocker`](#stabilized-useblocker) - [`unstable_flushSync` API](#unstable_flushsync-api) - - [Minor Changes](#minor-changes-11) - - [Patch Changes](#patch-changes-30) + - [Minor Changes](#minor-changes-12) + - [Patch Changes](#patch-changes-31) - [Updated Dependencies](#updated-dependencies-21) - [Changes by Package](#changes-by-package-23) - [v2.2.0](#v220) @@ -171,20 +174,20 @@ We manage release notes in this file instead of the paginated Github Releases Pa - [Vite!](#vite) - [New Fetcher APIs](#new-fetcher-apis) - [Persistence Future Flag](#persistence-future-flag) - - [Minor Changes](#minor-changes-12) - - [Patch Changes](#patch-changes-31) + - [Minor Changes](#minor-changes-13) + - [Patch Changes](#patch-changes-32) - [Updated Dependencies](#updated-dependencies-22) - [Changes by Package](#changes-by-package-24) - [v2.1.0](#v210) - [What's Changed](#whats-changed-12) - [View Transitions](#view-transitions) - [Stable `createRemixStub`](#stable-createremixstub) - - [Minor Changes](#minor-changes-13) - - [Patch Changes](#patch-changes-32) + - [Minor Changes](#minor-changes-14) + - [Patch Changes](#patch-changes-33) - [Updated Dependencies](#updated-dependencies-23) - [Changes by Package](#changes-by-package-25) - [v2.0.1](#v201) - - [Patch Changes](#patch-changes-33) + - [Patch Changes](#patch-changes-34) - [Changes by Package 🔗](#changes-by-package-) - [v2.0.0](#v200) - [Breaking Changes](#breaking-changes) @@ -248,6 +251,21 @@ Date: YYYY-MM-DD --> +## v2.16.0 + +Date: 2025-02-24 + +### Minor Changes + +- `@remix-run/dev` - Add Vite v6 support ([#10351](https://github.com/remix-run/remix/pull/10351)) + +### Patch Changes + +- `@remix-run/dev` - Clean up vite-node dev server when build finishes ([#10477](https://github.com/remix-run/remix/pull/10477)) +- `@remix-run/react` - Don't apply Single Fetch revalidation de-optimization when in SPA mode since there is no server HTTP request ([#10479](https://github.com/remix-run/remix/pull/10479)) + +**Full Changelog**: [`v2.15.3...v2.16.0`](https://github.com/remix-run/remix/compare/remix@2.15.3...remix@2.16.0) + ## v2.15.3 Date: 2025-01-30 From b6e35011eb244929020cd22a725455f22d42e925 Mon Sep 17 00:00:00 2001 From: Matt Brophy Date: Mon, 24 Feb 2025 09:57:54 -0500 Subject: [PATCH 10/18] Exit prerelease mode --- .changeset/pre.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 8847fbab4f7..c74ea18225d 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -1,5 +1,5 @@ { - "mode": "pre", + "mode": "exit", "tag": "pre", "initialVersions": { "integration": "0.0.0", From 3682b6892d4aca6f3bbf5287ce649827b6002e4d Mon Sep 17 00:00:00 2001 From: Matt Brophy Date: Mon, 24 Feb 2025 10:18:18 -0500 Subject: [PATCH 11/18] Revert "Exit prerelease mode" This reverts commit b6e35011eb244929020cd22a725455f22d42e925. --- .changeset/pre.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index c74ea18225d..8847fbab4f7 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -1,5 +1,5 @@ { - "mode": "exit", + "mode": "pre", "tag": "pre", "initialVersions": { "integration": "0.0.0", From 9eff3c9a515a20917b74e28e47e13a58dc527de4 Mon Sep 17 00:00:00 2001 From: Matt Brophy Date: Tue, 25 Feb 2025 13:25:20 -0500 Subject: [PATCH 12/18] Detect lazy route discovery manifest version mismatches and trigger reloads (#10498) --- .changeset/moody-onions-hunt.md | 10 +++++ integration/package.json | 2 +- packages/remix-dev/package.json | 2 +- packages/remix-react/fog-of-war.ts | 45 ++++++++++++++++++- packages/remix-react/package.json | 6 +-- packages/remix-server-runtime/package.json | 2 +- packages/remix-server-runtime/server.ts | 9 ++++ packages/remix-testing/package.json | 4 +- pnpm-lock.yaml | 50 +++++++++++----------- 9 files changed, 96 insertions(+), 34 deletions(-) create mode 100644 .changeset/moody-onions-hunt.md diff --git a/.changeset/moody-onions-hunt.md b/.changeset/moody-onions-hunt.md new file mode 100644 index 00000000000..3b728069131 --- /dev/null +++ b/.changeset/moody-onions-hunt.md @@ -0,0 +1,10 @@ +--- +"@remix-run/react": patch +"@remix-run/server-runtime": patch +--- + +When using Lazy Route Disscovery (`future.v3_lazyRouteDiscovery`), Remix will now detect manifest version mismatches after a new deploy and trigger a document reload to sync up any active client sessions with the newly deployed version + +- On navigations to undiscovered routes, this mismatch will trigger a document reload of the destination path +- On `fetcher` calls to undiscovered routes, this mismatch will trigger a document reload of the current path +- While performing Eager Route Discovery on rendered `` components, mismatches will result in a no-op \ No newline at end of file diff --git a/integration/package.json b/integration/package.json index 3ce5893b229..3037eca8a01 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.22.0", + "@remix-run/router": "1.23.0-pre-v6.0", "@remix-run/server-runtime": "workspace:*", "@types/express": "^4.17.9", "@vanilla-extract/css": "^1.10.0", diff --git a/packages/remix-dev/package.json b/packages/remix-dev/package.json index d8ebc658f59..1f79903436f 100644 --- a/packages/remix-dev/package.json +++ b/packages/remix-dev/package.json @@ -32,7 +32,7 @@ "@mdx-js/mdx": "^2.3.0", "@npmcli/package-json": "^4.0.1", "@remix-run/node": "workspace:*", - "@remix-run/router": "1.22.0", + "@remix-run/router": "1.23.0-pre-v6.0", "@remix-run/server-runtime": "workspace:*", "@types/mdx": "^2.0.5", "@vanilla-extract/integration": "^6.2.0", diff --git a/packages/remix-react/fog-of-war.ts b/packages/remix-react/fog-of-war.ts index 4092368206f..2f2269879a8 100644 --- a/packages/remix-react/fog-of-war.ts +++ b/packages/remix-react/fog-of-war.ts @@ -74,12 +74,13 @@ export function getPatchRoutesOnNavigationFunction( if (!isFogOfWarEnabled(future, isSpaMode)) { return undefined; } - return async ({ path, patch, signal }) => { + return async ({ path, patch, signal, fetcherKey }) => { if (discoveredPaths.has(path)) { return; } await fetchAndApplyManifestPatches( [path], + fetcherKey ? window.location.href : path, manifest, routeModules, future, @@ -139,6 +140,7 @@ export function useFogOFWarDiscovery( try { await fetchAndApplyManifestPatches( lazyPaths, + null, manifest, routeModules, future, @@ -201,8 +203,11 @@ export function useFogOFWarDiscovery( }, [future, isSpaMode, manifest, routeModules, router]); } +const MANIFEST_VERSION_STORAGE_KEY = "remix-manifest-version"; + export async function fetchAndApplyManifestPatches( paths: string[], + errorReloadPath: string | null, manifest: AssetsManifest, routeModules: RouteModules, future: FutureConfig, @@ -230,10 +235,48 @@ export async function fetchAndApplyManifestPatches( if (!res.ok) { throw new Error(`${res.status} ${res.statusText}`); + } else if ( + res.status === 204 && + res.headers.has("X-Remix-Reload-Document") + ) { + if (!errorReloadPath) { + // No-op during eager route discovery so we will trigger a hard reload + // of the destination during the next navigation instead of reloading + // while the user is sitting on the current page. Slightly more + // disruptive on fetcher calls because we reload the current page, but + // it's better than the `React.useContext` error that occurs without + // this detection. + console.warn( + "Detected a manifest version mismatch during eager route discovery. " + + "The next navigation/fetch to an undiscovered route will result in " + + "a new document navigation to sync up with the latest manifest." + ); + return; + } + + // This will hard reload the destination path on navigations, or the + // current path on fetcher calls + if ( + sessionStorage.getItem(MANIFEST_VERSION_STORAGE_KEY) === + manifest.version + ) { + // We've already tried fixing for this version, don' try again to + // avoid loops - just let this navigation/fetch 404 + console.error( + "Unable to discover routes due to manifest version mismatch." + ); + return; + } + + sessionStorage.setItem(MANIFEST_VERSION_STORAGE_KEY, manifest.version); + window.location.href = errorReloadPath; + throw new Error("Detected manifest version mismatch, reloading..."); } else if (res.status >= 400) { throw new Error(await res.text()); } + // Reset loop-detection on a successful response + sessionStorage.removeItem(MANIFEST_VERSION_STORAGE_KEY); serverPatches = (await res.json()) as AssetsManifest["routes"]; } catch (e) { if (signal?.aborted) return; diff --git a/packages/remix-react/package.json b/packages/remix-react/package.json index 8cf2a6c6846..144b236a7a4 100644 --- a/packages/remix-react/package.json +++ b/packages/remix-react/package.json @@ -19,10 +19,10 @@ "tsc": "tsc" }, "dependencies": { - "@remix-run/router": "1.22.0", + "@remix-run/router": "1.23.0-pre-v6.0", "@remix-run/server-runtime": "workspace:*", - "react-router": "6.29.0", - "react-router-dom": "6.29.0", + "react-router": "6.30.0-pre-v6.0", + "react-router-dom": "6.30.0-pre-v6.0", "turbo-stream": "2.4.0" }, "devDependencies": { diff --git a/packages/remix-server-runtime/package.json b/packages/remix-server-runtime/package.json index adb84adc86d..122bb07580d 100644 --- a/packages/remix-server-runtime/package.json +++ b/packages/remix-server-runtime/package.json @@ -19,7 +19,7 @@ "tsc": "tsc" }, "dependencies": { - "@remix-run/router": "1.22.0", + "@remix-run/router": "1.23.0-pre-v6.0", "@types/cookie": "^0.6.0", "@web3-storage/multipart-parser": "^1.0.0", "cookie": "^0.6.0", diff --git a/packages/remix-server-runtime/server.ts b/packages/remix-server-runtime/server.ts index 741fd013865..bf0a76b434f 100644 --- a/packages/remix-server-runtime/server.ts +++ b/packages/remix-server-runtime/server.ts @@ -298,6 +298,15 @@ async function handleManifestRequest( routes: ServerRoute[], url: URL ) { + if (build.assets.version !== url.searchParams.get("version")) { + return new Response(null, { + status: 204, + headers: { + "X-Remix-Reload-Document": "true", + }, + }); + } + let patches: Record = {}; if (url.searchParams.has("p")) { diff --git a/packages/remix-testing/package.json b/packages/remix-testing/package.json index 6258183d009..503df147760 100644 --- a/packages/remix-testing/package.json +++ b/packages/remix-testing/package.json @@ -21,8 +21,8 @@ "dependencies": { "@remix-run/node": "workspace:*", "@remix-run/react": "workspace:*", - "@remix-run/router": "1.22.0", - "react-router-dom": "6.29.0" + "@remix-run/router": "1.23.0-pre-v6.0", + "react-router-dom": "6.30.0-pre-v6.0" }, "devDependencies": { "@remix-run/server-runtime": "workspace:*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bf0082a9e5b..48f7846b765 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -323,8 +323,8 @@ importers: specifier: workspace:* version: link:../packages/remix-node '@remix-run/router': - specifier: 1.22.0 - version: 1.22.0 + specifier: 1.23.0-pre-v6.0 + version: 1.23.0-pre-v6.0 '@remix-run/server-runtime': specifier: workspace:* version: link:../packages/remix-server-runtime @@ -953,8 +953,8 @@ importers: specifier: workspace:* version: link:../remix-node '@remix-run/router': - specifier: 1.22.0 - version: 1.22.0 + specifier: 1.23.0-pre-v6.0 + version: 1.23.0-pre-v6.0 '@remix-run/server-runtime': specifier: workspace:* version: link:../remix-server-runtime @@ -1323,17 +1323,17 @@ importers: packages/remix-react: dependencies: '@remix-run/router': - specifier: 1.22.0 - version: 1.22.0 + specifier: 1.23.0-pre-v6.0 + version: 1.23.0-pre-v6.0 '@remix-run/server-runtime': specifier: workspace:* version: link:../remix-server-runtime react-router: - specifier: 6.29.0 - version: 6.29.0(react@18.2.0) + specifier: 6.30.0-pre-v6.0 + version: 6.30.0-pre-v6.0(react@18.2.0) react-router-dom: - specifier: 6.29.0 - version: 6.29.0(react-dom@18.2.0)(react@18.2.0) + specifier: 6.30.0-pre-v6.0 + version: 6.30.0-pre-v6.0(react-dom@18.2.0)(react@18.2.0) turbo-stream: specifier: 2.4.0 version: 2.4.0 @@ -1440,8 +1440,8 @@ importers: packages/remix-server-runtime: dependencies: '@remix-run/router': - specifier: 1.22.0 - version: 1.22.0 + specifier: 1.23.0-pre-v6.0 + version: 1.23.0-pre-v6.0 '@types/cookie': specifier: ^0.6.0 version: 0.6.0 @@ -1477,11 +1477,11 @@ importers: specifier: workspace:* version: link:../remix-react '@remix-run/router': - specifier: 1.22.0 - version: 1.22.0 + specifier: 1.23.0-pre-v6.0 + version: 1.23.0-pre-v6.0 react-router-dom: - specifier: 6.29.0 - version: 6.29.0(react-dom@18.2.0)(react@18.2.0) + specifier: 6.30.0-pre-v6.0 + version: 6.30.0-pre-v6.0(react-dom@18.2.0)(react@18.2.0) devDependencies: '@remix-run/server-runtime': specifier: workspace:* @@ -4543,8 +4543,8 @@ packages: - encoding dev: false - /@remix-run/router@1.22.0: - resolution: {integrity: sha512-MBOl8MeOzpK0HQQQshKB7pABXbmyHizdTpqnrIseTbsv0nAepwC2ENZa1aaBExNQcpLoXmWthhak8SABLzvGPw==} + /@remix-run/router@1.23.0-pre-v6.0: + resolution: {integrity: sha512-qEvtJDXDE5f77VpXZi5MRNWAASrddbV+zBiA235a+AsffsiwmFlSgnWv19NSi+yKWmWhQbK+pkmXwWpa2jASaw==} engines: {node: '>=14.0.0'} dev: false @@ -13216,26 +13216,26 @@ packages: engines: {node: '>=0.10.0'} dev: false - /react-router-dom@6.29.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-pkEbJPATRJ2iotK+wUwHfy0xs2T59YPEN8BQxVCPeBZvK7kfPESRc/nyxzdcxR17hXgUPYx2whMwl+eo9cUdnQ==} + /react-router-dom@6.30.0-pre-v6.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-WhFHhAzoHSRDjPRY4ZNvYGOeBAAgpptd2mcrE2Qmqd4k0EYfneA/QC1MnrX8JLpgGKljwE0268bSJ/YdXE6/mA==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' react-dom: '>=16.8' dependencies: - '@remix-run/router': 1.22.0 + '@remix-run/router': 1.23.0-pre-v6.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-router: 6.29.0(react@18.2.0) + react-router: 6.30.0-pre-v6.0(react@18.2.0) dev: false - /react-router@6.29.0(react@18.2.0): - resolution: {integrity: sha512-DXZJoE0q+KyeVw75Ck6GkPxFak63C4fGqZGNijnWgzB/HzSP1ZfTlBj5COaGWwhrMQ/R8bXiq5Ooy4KG+ReyjQ==} + /react-router@6.30.0-pre-v6.0(react@18.2.0): + resolution: {integrity: sha512-IVHqZ5NbIfN+yPIpPyF+4c6IrwdDpp77KG4cZJCuQcZ/6ebc+qt1iYLXxf7+hkxhkXKb5wRkgPY2PYOphLQFGg==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' dependencies: - '@remix-run/router': 1.22.0 + '@remix-run/router': 1.23.0-pre-v6.0 react: 18.2.0 dev: false From 69130d318e47ac076efcc41eb8ce17bae6cb147d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 26 Feb 2025 09:27:07 -0500 Subject: [PATCH 13/18] chore: Update version for release (pre) (#10499) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 3 ++- packages/create-remix/CHANGELOG.md | 2 ++ packages/create-remix/package.json | 2 +- packages/remix-architect/CHANGELOG.md | 7 +++++++ packages/remix-architect/package.json | 2 +- packages/remix-cloudflare-pages/CHANGELOG.md | 7 +++++++ packages/remix-cloudflare-pages/package.json | 2 +- packages/remix-cloudflare-workers/CHANGELOG.md | 7 +++++++ packages/remix-cloudflare-workers/package.json | 2 +- packages/remix-cloudflare/CHANGELOG.md | 7 +++++++ packages/remix-cloudflare/package.json | 2 +- packages/remix-css-bundle/CHANGELOG.md | 2 ++ packages/remix-css-bundle/package.json | 2 +- packages/remix-deno/CHANGELOG.md | 7 +++++++ packages/remix-deno/package.json | 2 +- packages/remix-dev/CHANGELOG.md | 8 ++++++++ packages/remix-dev/package.json | 6 +++--- packages/remix-eslint-config/CHANGELOG.md | 2 ++ packages/remix-eslint-config/package.json | 2 +- packages/remix-express/CHANGELOG.md | 7 +++++++ packages/remix-express/package.json | 2 +- packages/remix-fs-routes/CHANGELOG.md | 2 ++ packages/remix-fs-routes/package.json | 6 +++--- packages/remix-node/CHANGELOG.md | 7 +++++++ packages/remix-node/package.json | 2 +- packages/remix-react/CHANGELOG.md | 13 +++++++++++++ packages/remix-react/package.json | 2 +- packages/remix-route-config/CHANGELOG.md | 2 ++ packages/remix-route-config/package.json | 4 ++-- packages/remix-routes-option-adapter/CHANGELOG.md | 2 ++ packages/remix-routes-option-adapter/package.json | 6 +++--- packages/remix-serve/CHANGELOG.md | 8 ++++++++ packages/remix-serve/package.json | 2 +- packages/remix-server-runtime/CHANGELOG.md | 10 ++++++++++ packages/remix-server-runtime/package.json | 2 +- packages/remix-testing/CHANGELOG.md | 8 ++++++++ packages/remix-testing/package.json | 2 +- packages/remix/package.json | 2 +- 38 files changed, 136 insertions(+), 27 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 8847fbab4f7..f129b78115a 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -32,6 +32,7 @@ "changesets": [ "clean-kangaroos-juggle", "happy-ravens-burn", - "lovely-files-move" + "lovely-files-move", + "moody-onions-hunt" ] } diff --git a/packages/create-remix/CHANGELOG.md b/packages/create-remix/CHANGELOG.md index c8eca3f763f..b14c5c7582c 100644 --- a/packages/create-remix/CHANGELOG.md +++ b/packages/create-remix/CHANGELOG.md @@ -1,5 +1,7 @@ # `create-remix` +## 2.16.0-pre.1 + ## 2.16.0-pre.0 ## 2.15.3 diff --git a/packages/create-remix/package.json b/packages/create-remix/package.json index f0d0650db9a..f8b5da52779 100644 --- a/packages/create-remix/package.json +++ b/packages/create-remix/package.json @@ -1,6 +1,6 @@ { "name": "create-remix", - "version": "2.16.0-pre.0", + "version": "2.16.0-pre.1", "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 ada7cf18615..b12d96797a2 100644 --- a/packages/remix-architect/CHANGELOG.md +++ b/packages/remix-architect/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/architect` +## 2.16.0-pre.1 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/node@2.16.0-pre.1` + ## 2.16.0-pre.0 ### Patch Changes diff --git a/packages/remix-architect/package.json b/packages/remix-architect/package.json index 3807ebac792..c2db74db6d0 100644 --- a/packages/remix-architect/package.json +++ b/packages/remix-architect/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/architect", - "version": "2.16.0-pre.0", + "version": "2.16.0-pre.1", "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 6b290e486c3..3d4511fdc9c 100644 --- a/packages/remix-cloudflare-pages/CHANGELOG.md +++ b/packages/remix-cloudflare-pages/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/cloudflare-pages` +## 2.16.0-pre.1 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/cloudflare@2.16.0-pre.1` + ## 2.16.0-pre.0 ### Patch Changes diff --git a/packages/remix-cloudflare-pages/package.json b/packages/remix-cloudflare-pages/package.json index 315baf79d81..407ebf8d2b2 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.16.0-pre.0", + "version": "2.16.0-pre.1", "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 e0cdc60ce47..a7706a5990b 100644 --- a/packages/remix-cloudflare-workers/CHANGELOG.md +++ b/packages/remix-cloudflare-workers/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/cloudflare-workers` +## 2.16.0-pre.1 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/cloudflare@2.16.0-pre.1` + ## 2.16.0-pre.0 ### Patch Changes diff --git a/packages/remix-cloudflare-workers/package.json b/packages/remix-cloudflare-workers/package.json index e5e118d2d8d..a3e74644e75 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.16.0-pre.0", + "version": "2.16.0-pre.1", "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 7c6dbb594ba..babd01ac6b1 100644 --- a/packages/remix-cloudflare/CHANGELOG.md +++ b/packages/remix-cloudflare/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/cloudflare` +## 2.16.0-pre.1 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/server-runtime@2.16.0-pre.1` + ## 2.16.0-pre.0 ### Patch Changes diff --git a/packages/remix-cloudflare/package.json b/packages/remix-cloudflare/package.json index da6fbac9e1b..efcb0a2517f 100644 --- a/packages/remix-cloudflare/package.json +++ b/packages/remix-cloudflare/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/cloudflare", - "version": "2.16.0-pre.0", + "version": "2.16.0-pre.1", "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 76312ccb4eb..815451b3440 100644 --- a/packages/remix-css-bundle/CHANGELOG.md +++ b/packages/remix-css-bundle/CHANGELOG.md @@ -1,5 +1,7 @@ # `@remix-run/css-bundle` +## 2.16.0-pre.1 + ## 2.16.0-pre.0 ## 2.15.3 diff --git a/packages/remix-css-bundle/package.json b/packages/remix-css-bundle/package.json index 4eabb1d1806..00a880a4375 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.16.0-pre.0", + "version": "2.16.0-pre.1", "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 cedccb90179..f9c293a3bd5 100644 --- a/packages/remix-deno/CHANGELOG.md +++ b/packages/remix-deno/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/deno` +## 2.16.0-pre.1 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/server-runtime@2.16.0-pre.1` + ## 2.16.0-pre.0 ### Patch Changes diff --git a/packages/remix-deno/package.json b/packages/remix-deno/package.json index a6790b1df57..062854c24fd 100644 --- a/packages/remix-deno/package.json +++ b/packages/remix-deno/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/deno", - "version": "2.16.0-pre.0", + "version": "2.16.0-pre.1", "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 d424134772f..0ca9d468d27 100644 --- a/packages/remix-dev/CHANGELOG.md +++ b/packages/remix-dev/CHANGELOG.md @@ -1,5 +1,13 @@ # `@remix-run/dev` +## 2.16.0-pre.1 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/server-runtime@2.16.0-pre.1` + - `@remix-run/node@2.16.0-pre.1` + ## 2.16.0-pre.0 ### Minor Changes diff --git a/packages/remix-dev/package.json b/packages/remix-dev/package.json index 1f79903436f..712d34ac72c 100644 --- a/packages/remix-dev/package.json +++ b/packages/remix-dev/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/dev", - "version": "2.16.0-pre.0", + "version": "2.16.0-pre.1", "description": "Dev tools and CLI for Remix", "homepage": "https://remix.run", "bugs": { @@ -109,8 +109,8 @@ "wrangler": "^3.28.2" }, "peerDependencies": { - "@remix-run/react": "^2.16.0-pre.0", - "@remix-run/serve": "^2.16.0-pre.0", + "@remix-run/react": "^2.16.0-pre.1", + "@remix-run/serve": "^2.16.0-pre.1", "typescript": "^5.1.0", "vite": "^5.1.0 || ^6.0.0", "wrangler": "^3.28.2" diff --git a/packages/remix-eslint-config/CHANGELOG.md b/packages/remix-eslint-config/CHANGELOG.md index cd403dba088..c46b351ffee 100644 --- a/packages/remix-eslint-config/CHANGELOG.md +++ b/packages/remix-eslint-config/CHANGELOG.md @@ -1,5 +1,7 @@ # `@remix-run/eslint-config` +## 2.16.0-pre.1 + ## 2.16.0-pre.0 ## 2.15.3 diff --git a/packages/remix-eslint-config/package.json b/packages/remix-eslint-config/package.json index 31af0aec96b..8ebe8825537 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.16.0-pre.0", + "version": "2.16.0-pre.1", "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 b57fec1723e..ea9c046f081 100644 --- a/packages/remix-express/CHANGELOG.md +++ b/packages/remix-express/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/express` +## 2.16.0-pre.1 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/node@2.16.0-pre.1` + ## 2.16.0-pre.0 ### Patch Changes diff --git a/packages/remix-express/package.json b/packages/remix-express/package.json index 926ac49d518..3b106a70a24 100644 --- a/packages/remix-express/package.json +++ b/packages/remix-express/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/express", - "version": "2.16.0-pre.0", + "version": "2.16.0-pre.1", "description": "Express server request handler for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" diff --git a/packages/remix-fs-routes/CHANGELOG.md b/packages/remix-fs-routes/CHANGELOG.md index 528490bbf14..6afef2f35b8 100644 --- a/packages/remix-fs-routes/CHANGELOG.md +++ b/packages/remix-fs-routes/CHANGELOG.md @@ -1,5 +1,7 @@ # `@remix-run/fs-routes` +## 2.16.0-pre.1 + ## 2.16.0-pre.0 ### Patch Changes diff --git a/packages/remix-fs-routes/package.json b/packages/remix-fs-routes/package.json index b80f2bd60b4..a21c326804f 100644 --- a/packages/remix-fs-routes/package.json +++ b/packages/remix-fs-routes/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/fs-routes", - "version": "2.16.0-pre.0", + "version": "2.16.0-pre.1", "description": "Config-based file system routing conventions, for use within routes.ts", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -22,8 +22,8 @@ "typescript": "^5.1.6" }, "peerDependencies": { - "@remix-run/dev": "^2.16.0-pre.0", - "@remix-run/route-config": "^2.16.0-pre.0", + "@remix-run/dev": "^2.16.0-pre.1", + "@remix-run/route-config": "^2.16.0-pre.1", "typescript": "^5.1.0" }, "peerDependenciesMeta": { diff --git a/packages/remix-node/CHANGELOG.md b/packages/remix-node/CHANGELOG.md index 417b81910db..2ae852f8759 100644 --- a/packages/remix-node/CHANGELOG.md +++ b/packages/remix-node/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/node` +## 2.16.0-pre.1 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/server-runtime@2.16.0-pre.1` + ## 2.16.0-pre.0 ### Patch Changes diff --git a/packages/remix-node/package.json b/packages/remix-node/package.json index f024633a2da..452a15cc863 100644 --- a/packages/remix-node/package.json +++ b/packages/remix-node/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/node", - "version": "2.16.0-pre.0", + "version": "2.16.0-pre.1", "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 e1bed6b68f5..836d5f88aae 100644 --- a/packages/remix-react/CHANGELOG.md +++ b/packages/remix-react/CHANGELOG.md @@ -1,5 +1,18 @@ # `@remix-run/react` +## 2.16.0-pre.1 + +### Patch Changes + +- When using Lazy Route Disscovery (`future.v3_lazyRouteDiscovery`), Remix will now detect manifest version mismatches after a new deploy and trigger a document reload to sync up any active client sessions with the newly deployed version ([#10498](https://github.com/remix-run/remix/pull/10498)) + + - On navigations to undiscovered routes, this mismatch will trigger a document reload of the destination path + - On `fetcher` calls to undiscovered routes, this mismatch will trigger a document reload of the current path + - While performing Eager Route Discovery on rendered `` components, mismatches will result in a no-op + +- Updated dependencies: + - `@remix-run/server-runtime@2.16.0-pre.1` + ## 2.16.0-pre.0 ### Patch Changes diff --git a/packages/remix-react/package.json b/packages/remix-react/package.json index 144b236a7a4..bd0add786b2 100644 --- a/packages/remix-react/package.json +++ b/packages/remix-react/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/react", - "version": "2.16.0-pre.0", + "version": "2.16.0-pre.1", "description": "React DOM bindings for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" diff --git a/packages/remix-route-config/CHANGELOG.md b/packages/remix-route-config/CHANGELOG.md index e26f7041c65..c0510309fe4 100644 --- a/packages/remix-route-config/CHANGELOG.md +++ b/packages/remix-route-config/CHANGELOG.md @@ -1,5 +1,7 @@ # `@remix-run/route-config` +## 2.16.0-pre.1 + ## 2.16.0-pre.0 ### Patch Changes diff --git a/packages/remix-route-config/package.json b/packages/remix-route-config/package.json index 87b22b0c336..3a34e87f4a5 100644 --- a/packages/remix-route-config/package.json +++ b/packages/remix-route-config/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/route-config", - "version": "2.16.0-pre.0", + "version": "2.16.0-pre.1", "description": "Config-based routing utilities, for use within routes.ts", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -26,7 +26,7 @@ "vite": "^6.0.0" }, "peerDependencies": { - "@remix-run/dev": "^2.16.0-pre.0", + "@remix-run/dev": "^2.16.0-pre.1", "typescript": "^5.1.0" }, "peerDependenciesMeta": { diff --git a/packages/remix-routes-option-adapter/CHANGELOG.md b/packages/remix-routes-option-adapter/CHANGELOG.md index a4ffd7c6a30..4f7082f8933 100644 --- a/packages/remix-routes-option-adapter/CHANGELOG.md +++ b/packages/remix-routes-option-adapter/CHANGELOG.md @@ -1,5 +1,7 @@ # `@remix-run/routes-option-adapter` +## 2.16.0-pre.1 + ## 2.16.0-pre.0 ### Patch Changes diff --git a/packages/remix-routes-option-adapter/package.json b/packages/remix-routes-option-adapter/package.json index 3f94ce591dc..3a63848a8e1 100644 --- a/packages/remix-routes-option-adapter/package.json +++ b/packages/remix-routes-option-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/routes-option-adapter", - "version": "2.16.0-pre.0", + "version": "2.16.0-pre.1", "description": "Adapter for Remix's \"routes\" config option, for use within routes.ts", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -22,8 +22,8 @@ "typescript": "^5.1.6" }, "peerDependencies": { - "@remix-run/dev": "^2.16.0-pre.0", - "@remix-run/route-config": "^2.16.0-pre.0", + "@remix-run/dev": "^2.16.0-pre.1", + "@remix-run/route-config": "^2.16.0-pre.1", "typescript": "^5.1.0" }, "peerDependenciesMeta": { diff --git a/packages/remix-serve/CHANGELOG.md b/packages/remix-serve/CHANGELOG.md index e88a68d9a37..790740f7d77 100644 --- a/packages/remix-serve/CHANGELOG.md +++ b/packages/remix-serve/CHANGELOG.md @@ -1,5 +1,13 @@ # `@remix-run/serve` +## 2.16.0-pre.1 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/node@2.16.0-pre.1` + - `@remix-run/express@2.16.0-pre.1` + ## 2.16.0-pre.0 ### Patch Changes diff --git a/packages/remix-serve/package.json b/packages/remix-serve/package.json index 512e355e02e..5bf1980eae9 100644 --- a/packages/remix-serve/package.json +++ b/packages/remix-serve/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/serve", - "version": "2.16.0-pre.0", + "version": "2.16.0-pre.1", "description": "Production application server for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" diff --git a/packages/remix-server-runtime/CHANGELOG.md b/packages/remix-server-runtime/CHANGELOG.md index 93999959c71..f983f0c72f8 100644 --- a/packages/remix-server-runtime/CHANGELOG.md +++ b/packages/remix-server-runtime/CHANGELOG.md @@ -1,5 +1,15 @@ # `@remix-run/server-runtime` +## 2.16.0-pre.1 + +### Patch Changes + +- When using Lazy Route Disscovery (`future.v3_lazyRouteDiscovery`), Remix will now detect manifest version mismatches after a new deploy and trigger a document reload to sync up any active client sessions with the newly deployed version ([#10498](https://github.com/remix-run/remix/pull/10498)) + + - On navigations to undiscovered routes, this mismatch will trigger a document reload of the destination path + - On `fetcher` calls to undiscovered routes, this mismatch will trigger a document reload of the current path + - While performing Eager Route Discovery on rendered `` components, mismatches will result in a no-op + ## 2.16.0-pre.0 ## 2.15.3 diff --git a/packages/remix-server-runtime/package.json b/packages/remix-server-runtime/package.json index 122bb07580d..470efe17ce4 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.16.0-pre.0", + "version": "2.16.0-pre.1", "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 5db0c6cb9f3..93bc97405b1 100644 --- a/packages/remix-testing/CHANGELOG.md +++ b/packages/remix-testing/CHANGELOG.md @@ -1,5 +1,13 @@ # `@remix-run/testing` +## 2.16.0-pre.1 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/react@2.16.0-pre.1` + - `@remix-run/node@2.16.0-pre.1` + ## 2.16.0-pre.0 ### Patch Changes diff --git a/packages/remix-testing/package.json b/packages/remix-testing/package.json index 503df147760..db1bb450e8a 100644 --- a/packages/remix-testing/package.json +++ b/packages/remix-testing/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/testing", - "version": "2.16.0-pre.0", + "version": "2.16.0-pre.1", "description": "Testing utilities for Remix apps", "homepage": "https://remix.run", "bugs": { diff --git a/packages/remix/package.json b/packages/remix/package.json index 7cc25e33b05..d6e1fe2bdbd 100644 --- a/packages/remix/package.json +++ b/packages/remix/package.json @@ -1,6 +1,6 @@ { "name": "remix", - "version": "2.16.0-pre.0", + "version": "2.16.0-pre.1", "description": "A framework for building better websites", "homepage": "https://remix.run", "bugs": { From f67cd798086a66b62765c10993d112801acda315 Mon Sep 17 00:00:00 2001 From: Matt Brophy Date: Wed, 26 Feb 2025 10:36:02 -0500 Subject: [PATCH 14/18] update release notes --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 498ea209069..25b883cbca2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -263,6 +263,10 @@ Date: 2025-02-24 - `@remix-run/dev` - Clean up vite-node dev server when build finishes ([#10477](https://github.com/remix-run/remix/pull/10477)) - `@remix-run/react` - Don't apply Single Fetch revalidation de-optimization when in SPA mode since there is no server HTTP request ([#10479](https://github.com/remix-run/remix/pull/10479)) +- `@remix-run/react` - When using Lazy Route Discovery (`future.v3_lazyRouteDiscovery`), Remix will now detect manifest version mismatches after a new deploy and trigger a document reload to sync up any active client sessions with the newly deployed version ([#10498](https://github.com/remix-run/remix/pull/10498)) + - On navigations to undiscovered routes, this mismatch will trigger a document reload of the destination path + - On `fetcher` calls to undiscovered routes, this mismatch will trigger a document reload of the current path + - While performing Eager Route Discovery on rendered `` components, mismatches will result in a no-op **Full Changelog**: [`v2.15.3...v2.16.0`](https://github.com/remix-run/remix/compare/remix@2.15.3...remix@2.16.0) From b30afa9bf6fa8b18c8aaf476c1ff3dad9ecf116a Mon Sep 17 00:00:00 2001 From: Matt Brophy Date: Thu, 27 Feb 2025 11:57:33 -0500 Subject: [PATCH 15/18] Bump router (#10505) --- .changeset/flat-crabs-know.md | 5 +++ integration/package.json | 2 +- packages/remix-dev/package.json | 2 +- packages/remix-react/package.json | 6 +-- packages/remix-server-runtime/package.json | 2 +- packages/remix-testing/package.json | 4 +- pnpm-lock.yaml | 50 +++++++++++----------- 7 files changed, 38 insertions(+), 33 deletions(-) create mode 100644 .changeset/flat-crabs-know.md diff --git a/.changeset/flat-crabs-know.md b/.changeset/flat-crabs-know.md new file mode 100644 index 00000000000..2a5c2e42de8 --- /dev/null +++ b/.changeset/flat-crabs-know.md @@ -0,0 +1,5 @@ +--- +"@remix-run/react": patch +--- + +[REMOVE] Bump router diff --git a/integration/package.json b/integration/package.json index 3037eca8a01..e8473c0ec88 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.23.0-pre-v6.0", + "@remix-run/router": "1.23.0", "@remix-run/server-runtime": "workspace:*", "@types/express": "^4.17.9", "@vanilla-extract/css": "^1.10.0", diff --git a/packages/remix-dev/package.json b/packages/remix-dev/package.json index 712d34ac72c..787f610bc6e 100644 --- a/packages/remix-dev/package.json +++ b/packages/remix-dev/package.json @@ -32,7 +32,7 @@ "@mdx-js/mdx": "^2.3.0", "@npmcli/package-json": "^4.0.1", "@remix-run/node": "workspace:*", - "@remix-run/router": "1.23.0-pre-v6.0", + "@remix-run/router": "1.23.0", "@remix-run/server-runtime": "workspace:*", "@types/mdx": "^2.0.5", "@vanilla-extract/integration": "^6.2.0", diff --git a/packages/remix-react/package.json b/packages/remix-react/package.json index bd0add786b2..0632a555e58 100644 --- a/packages/remix-react/package.json +++ b/packages/remix-react/package.json @@ -19,10 +19,10 @@ "tsc": "tsc" }, "dependencies": { - "@remix-run/router": "1.23.0-pre-v6.0", + "@remix-run/router": "1.23.0", "@remix-run/server-runtime": "workspace:*", - "react-router": "6.30.0-pre-v6.0", - "react-router-dom": "6.30.0-pre-v6.0", + "react-router": "6.30.0", + "react-router-dom": "6.30.0", "turbo-stream": "2.4.0" }, "devDependencies": { diff --git a/packages/remix-server-runtime/package.json b/packages/remix-server-runtime/package.json index 470efe17ce4..b9758097927 100644 --- a/packages/remix-server-runtime/package.json +++ b/packages/remix-server-runtime/package.json @@ -19,7 +19,7 @@ "tsc": "tsc" }, "dependencies": { - "@remix-run/router": "1.23.0-pre-v6.0", + "@remix-run/router": "1.23.0", "@types/cookie": "^0.6.0", "@web3-storage/multipart-parser": "^1.0.0", "cookie": "^0.6.0", diff --git a/packages/remix-testing/package.json b/packages/remix-testing/package.json index db1bb450e8a..1e414b24897 100644 --- a/packages/remix-testing/package.json +++ b/packages/remix-testing/package.json @@ -21,8 +21,8 @@ "dependencies": { "@remix-run/node": "workspace:*", "@remix-run/react": "workspace:*", - "@remix-run/router": "1.23.0-pre-v6.0", - "react-router-dom": "6.30.0-pre-v6.0" + "@remix-run/router": "1.23.0", + "react-router-dom": "6.30.0" }, "devDependencies": { "@remix-run/server-runtime": "workspace:*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 48f7846b765..d27bb7919a1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -323,8 +323,8 @@ importers: specifier: workspace:* version: link:../packages/remix-node '@remix-run/router': - specifier: 1.23.0-pre-v6.0 - version: 1.23.0-pre-v6.0 + specifier: 1.23.0 + version: 1.23.0 '@remix-run/server-runtime': specifier: workspace:* version: link:../packages/remix-server-runtime @@ -953,8 +953,8 @@ importers: specifier: workspace:* version: link:../remix-node '@remix-run/router': - specifier: 1.23.0-pre-v6.0 - version: 1.23.0-pre-v6.0 + specifier: 1.23.0 + version: 1.23.0 '@remix-run/server-runtime': specifier: workspace:* version: link:../remix-server-runtime @@ -1323,17 +1323,17 @@ importers: packages/remix-react: dependencies: '@remix-run/router': - specifier: 1.23.0-pre-v6.0 - version: 1.23.0-pre-v6.0 + specifier: 1.23.0 + version: 1.23.0 '@remix-run/server-runtime': specifier: workspace:* version: link:../remix-server-runtime react-router: - specifier: 6.30.0-pre-v6.0 - version: 6.30.0-pre-v6.0(react@18.2.0) + specifier: 6.30.0 + version: 6.30.0(react@18.2.0) react-router-dom: - specifier: 6.30.0-pre-v6.0 - version: 6.30.0-pre-v6.0(react-dom@18.2.0)(react@18.2.0) + specifier: 6.30.0 + version: 6.30.0(react-dom@18.2.0)(react@18.2.0) turbo-stream: specifier: 2.4.0 version: 2.4.0 @@ -1440,8 +1440,8 @@ importers: packages/remix-server-runtime: dependencies: '@remix-run/router': - specifier: 1.23.0-pre-v6.0 - version: 1.23.0-pre-v6.0 + specifier: 1.23.0 + version: 1.23.0 '@types/cookie': specifier: ^0.6.0 version: 0.6.0 @@ -1477,11 +1477,11 @@ importers: specifier: workspace:* version: link:../remix-react '@remix-run/router': - specifier: 1.23.0-pre-v6.0 - version: 1.23.0-pre-v6.0 + specifier: 1.23.0 + version: 1.23.0 react-router-dom: - specifier: 6.30.0-pre-v6.0 - version: 6.30.0-pre-v6.0(react-dom@18.2.0)(react@18.2.0) + specifier: 6.30.0 + version: 6.30.0(react-dom@18.2.0)(react@18.2.0) devDependencies: '@remix-run/server-runtime': specifier: workspace:* @@ -4543,8 +4543,8 @@ packages: - encoding dev: false - /@remix-run/router@1.23.0-pre-v6.0: - resolution: {integrity: sha512-qEvtJDXDE5f77VpXZi5MRNWAASrddbV+zBiA235a+AsffsiwmFlSgnWv19NSi+yKWmWhQbK+pkmXwWpa2jASaw==} + /@remix-run/router@1.23.0: + resolution: {integrity: sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==} engines: {node: '>=14.0.0'} dev: false @@ -13216,26 +13216,26 @@ packages: engines: {node: '>=0.10.0'} dev: false - /react-router-dom@6.30.0-pre-v6.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-WhFHhAzoHSRDjPRY4ZNvYGOeBAAgpptd2mcrE2Qmqd4k0EYfneA/QC1MnrX8JLpgGKljwE0268bSJ/YdXE6/mA==} + /react-router-dom@6.30.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-x30B78HV5tFk8ex0ITwzC9TTZMua4jGyA9IUlH1JLQYQTFyxr/ZxwOJq7evg1JX1qGVUcvhsmQSKdPncQrjTgA==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' react-dom: '>=16.8' dependencies: - '@remix-run/router': 1.23.0-pre-v6.0 + '@remix-run/router': 1.23.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-router: 6.30.0-pre-v6.0(react@18.2.0) + react-router: 6.30.0(react@18.2.0) dev: false - /react-router@6.30.0-pre-v6.0(react@18.2.0): - resolution: {integrity: sha512-IVHqZ5NbIfN+yPIpPyF+4c6IrwdDpp77KG4cZJCuQcZ/6ebc+qt1iYLXxf7+hkxhkXKb5wRkgPY2PYOphLQFGg==} + /react-router@6.30.0(react@18.2.0): + resolution: {integrity: sha512-D3X8FyH9nBcTSHGdEKurK7r8OYE1kKFn3d/CF+CoxbSHkxU7o37+Uh7eAHRXr6k2tSExXYO++07PeXJtA/dEhQ==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' dependencies: - '@remix-run/router': 1.23.0-pre-v6.0 + '@remix-run/router': 1.23.0 react: 18.2.0 dev: false From f34f2c99a7edf882cfc3bf4ce19da8af9c6a5067 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 27 Feb 2025 12:12:40 -0500 Subject: [PATCH 16/18] chore: Update version for release (pre) (#10507) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/create-remix/CHANGELOG.md | 2 ++ packages/create-remix/package.json | 2 +- packages/remix-architect/CHANGELOG.md | 7 +++++++ packages/remix-architect/package.json | 2 +- packages/remix-cloudflare-pages/CHANGELOG.md | 7 +++++++ packages/remix-cloudflare-pages/package.json | 2 +- packages/remix-cloudflare-workers/CHANGELOG.md | 7 +++++++ packages/remix-cloudflare-workers/package.json | 2 +- packages/remix-cloudflare/CHANGELOG.md | 7 +++++++ packages/remix-cloudflare/package.json | 2 +- packages/remix-css-bundle/CHANGELOG.md | 2 ++ packages/remix-css-bundle/package.json | 2 +- packages/remix-deno/CHANGELOG.md | 7 +++++++ packages/remix-deno/package.json | 2 +- packages/remix-dev/CHANGELOG.md | 8 ++++++++ packages/remix-dev/package.json | 6 +++--- packages/remix-eslint-config/CHANGELOG.md | 2 ++ packages/remix-eslint-config/package.json | 2 +- packages/remix-express/CHANGELOG.md | 7 +++++++ packages/remix-express/package.json | 2 +- packages/remix-fs-routes/CHANGELOG.md | 2 ++ packages/remix-fs-routes/package.json | 6 +++--- packages/remix-node/CHANGELOG.md | 7 +++++++ packages/remix-node/package.json | 2 +- packages/remix-react/CHANGELOG.md | 8 ++++++++ packages/remix-react/package.json | 2 +- packages/remix-route-config/CHANGELOG.md | 2 ++ packages/remix-route-config/package.json | 4 ++-- packages/remix-routes-option-adapter/CHANGELOG.md | 2 ++ packages/remix-routes-option-adapter/package.json | 6 +++--- packages/remix-serve/CHANGELOG.md | 8 ++++++++ packages/remix-serve/package.json | 2 +- packages/remix-server-runtime/CHANGELOG.md | 2 ++ packages/remix-server-runtime/package.json | 2 +- packages/remix-testing/CHANGELOG.md | 8 ++++++++ packages/remix-testing/package.json | 2 +- packages/remix/package.json | 2 +- 38 files changed, 122 insertions(+), 26 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index f129b78115a..6270a303689 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -31,6 +31,7 @@ }, "changesets": [ "clean-kangaroos-juggle", + "flat-crabs-know", "happy-ravens-burn", "lovely-files-move", "moody-onions-hunt" diff --git a/packages/create-remix/CHANGELOG.md b/packages/create-remix/CHANGELOG.md index b14c5c7582c..e371369865a 100644 --- a/packages/create-remix/CHANGELOG.md +++ b/packages/create-remix/CHANGELOG.md @@ -1,5 +1,7 @@ # `create-remix` +## 2.16.0-pre.2 + ## 2.16.0-pre.1 ## 2.16.0-pre.0 diff --git a/packages/create-remix/package.json b/packages/create-remix/package.json index f8b5da52779..30bed0d3e0d 100644 --- a/packages/create-remix/package.json +++ b/packages/create-remix/package.json @@ -1,6 +1,6 @@ { "name": "create-remix", - "version": "2.16.0-pre.1", + "version": "2.16.0-pre.2", "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 b12d96797a2..9984a828a47 100644 --- a/packages/remix-architect/CHANGELOG.md +++ b/packages/remix-architect/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/architect` +## 2.16.0-pre.2 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/node@2.16.0-pre.2` + ## 2.16.0-pre.1 ### Patch Changes diff --git a/packages/remix-architect/package.json b/packages/remix-architect/package.json index c2db74db6d0..e1a297d2739 100644 --- a/packages/remix-architect/package.json +++ b/packages/remix-architect/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/architect", - "version": "2.16.0-pre.1", + "version": "2.16.0-pre.2", "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 3d4511fdc9c..ed03703f794 100644 --- a/packages/remix-cloudflare-pages/CHANGELOG.md +++ b/packages/remix-cloudflare-pages/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/cloudflare-pages` +## 2.16.0-pre.2 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/cloudflare@2.16.0-pre.2` + ## 2.16.0-pre.1 ### Patch Changes diff --git a/packages/remix-cloudflare-pages/package.json b/packages/remix-cloudflare-pages/package.json index 407ebf8d2b2..77221556685 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.16.0-pre.1", + "version": "2.16.0-pre.2", "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 a7706a5990b..e396c945959 100644 --- a/packages/remix-cloudflare-workers/CHANGELOG.md +++ b/packages/remix-cloudflare-workers/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/cloudflare-workers` +## 2.16.0-pre.2 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/cloudflare@2.16.0-pre.2` + ## 2.16.0-pre.1 ### Patch Changes diff --git a/packages/remix-cloudflare-workers/package.json b/packages/remix-cloudflare-workers/package.json index a3e74644e75..78953cbad02 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.16.0-pre.1", + "version": "2.16.0-pre.2", "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 babd01ac6b1..2e9cb8eb3db 100644 --- a/packages/remix-cloudflare/CHANGELOG.md +++ b/packages/remix-cloudflare/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/cloudflare` +## 2.16.0-pre.2 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/server-runtime@2.16.0-pre.2` + ## 2.16.0-pre.1 ### Patch Changes diff --git a/packages/remix-cloudflare/package.json b/packages/remix-cloudflare/package.json index efcb0a2517f..c4c68fbd6e2 100644 --- a/packages/remix-cloudflare/package.json +++ b/packages/remix-cloudflare/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/cloudflare", - "version": "2.16.0-pre.1", + "version": "2.16.0-pre.2", "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 815451b3440..4575ed68f90 100644 --- a/packages/remix-css-bundle/CHANGELOG.md +++ b/packages/remix-css-bundle/CHANGELOG.md @@ -1,5 +1,7 @@ # `@remix-run/css-bundle` +## 2.16.0-pre.2 + ## 2.16.0-pre.1 ## 2.16.0-pre.0 diff --git a/packages/remix-css-bundle/package.json b/packages/remix-css-bundle/package.json index 00a880a4375..e27e53ad15d 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.16.0-pre.1", + "version": "2.16.0-pre.2", "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 f9c293a3bd5..3d795873954 100644 --- a/packages/remix-deno/CHANGELOG.md +++ b/packages/remix-deno/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/deno` +## 2.16.0-pre.2 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/server-runtime@2.16.0-pre.2` + ## 2.16.0-pre.1 ### Patch Changes diff --git a/packages/remix-deno/package.json b/packages/remix-deno/package.json index 062854c24fd..c22fc1d633d 100644 --- a/packages/remix-deno/package.json +++ b/packages/remix-deno/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/deno", - "version": "2.16.0-pre.1", + "version": "2.16.0-pre.2", "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 0ca9d468d27..5ef1c2020a4 100644 --- a/packages/remix-dev/CHANGELOG.md +++ b/packages/remix-dev/CHANGELOG.md @@ -1,5 +1,13 @@ # `@remix-run/dev` +## 2.16.0-pre.2 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/node@2.16.0-pre.2` + - `@remix-run/server-runtime@2.16.0-pre.2` + ## 2.16.0-pre.1 ### Patch Changes diff --git a/packages/remix-dev/package.json b/packages/remix-dev/package.json index 787f610bc6e..52285738a3a 100644 --- a/packages/remix-dev/package.json +++ b/packages/remix-dev/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/dev", - "version": "2.16.0-pre.1", + "version": "2.16.0-pre.2", "description": "Dev tools and CLI for Remix", "homepage": "https://remix.run", "bugs": { @@ -109,8 +109,8 @@ "wrangler": "^3.28.2" }, "peerDependencies": { - "@remix-run/react": "^2.16.0-pre.1", - "@remix-run/serve": "^2.16.0-pre.1", + "@remix-run/react": "^2.16.0-pre.2", + "@remix-run/serve": "^2.16.0-pre.2", "typescript": "^5.1.0", "vite": "^5.1.0 || ^6.0.0", "wrangler": "^3.28.2" diff --git a/packages/remix-eslint-config/CHANGELOG.md b/packages/remix-eslint-config/CHANGELOG.md index c46b351ffee..4a4332bcecd 100644 --- a/packages/remix-eslint-config/CHANGELOG.md +++ b/packages/remix-eslint-config/CHANGELOG.md @@ -1,5 +1,7 @@ # `@remix-run/eslint-config` +## 2.16.0-pre.2 + ## 2.16.0-pre.1 ## 2.16.0-pre.0 diff --git a/packages/remix-eslint-config/package.json b/packages/remix-eslint-config/package.json index 8ebe8825537..6df8aec8ece 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.16.0-pre.1", + "version": "2.16.0-pre.2", "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 ea9c046f081..34fcd8ca7c4 100644 --- a/packages/remix-express/CHANGELOG.md +++ b/packages/remix-express/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/express` +## 2.16.0-pre.2 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/node@2.16.0-pre.2` + ## 2.16.0-pre.1 ### Patch Changes diff --git a/packages/remix-express/package.json b/packages/remix-express/package.json index 3b106a70a24..589fb2b1efb 100644 --- a/packages/remix-express/package.json +++ b/packages/remix-express/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/express", - "version": "2.16.0-pre.1", + "version": "2.16.0-pre.2", "description": "Express server request handler for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" diff --git a/packages/remix-fs-routes/CHANGELOG.md b/packages/remix-fs-routes/CHANGELOG.md index 6afef2f35b8..856a58227fa 100644 --- a/packages/remix-fs-routes/CHANGELOG.md +++ b/packages/remix-fs-routes/CHANGELOG.md @@ -1,5 +1,7 @@ # `@remix-run/fs-routes` +## 2.16.0-pre.2 + ## 2.16.0-pre.1 ## 2.16.0-pre.0 diff --git a/packages/remix-fs-routes/package.json b/packages/remix-fs-routes/package.json index a21c326804f..5bea0edbd0b 100644 --- a/packages/remix-fs-routes/package.json +++ b/packages/remix-fs-routes/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/fs-routes", - "version": "2.16.0-pre.1", + "version": "2.16.0-pre.2", "description": "Config-based file system routing conventions, for use within routes.ts", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -22,8 +22,8 @@ "typescript": "^5.1.6" }, "peerDependencies": { - "@remix-run/dev": "^2.16.0-pre.1", - "@remix-run/route-config": "^2.16.0-pre.1", + "@remix-run/dev": "^2.16.0-pre.2", + "@remix-run/route-config": "^2.16.0-pre.2", "typescript": "^5.1.0" }, "peerDependenciesMeta": { diff --git a/packages/remix-node/CHANGELOG.md b/packages/remix-node/CHANGELOG.md index 2ae852f8759..05f91999a57 100644 --- a/packages/remix-node/CHANGELOG.md +++ b/packages/remix-node/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/node` +## 2.16.0-pre.2 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/server-runtime@2.16.0-pre.2` + ## 2.16.0-pre.1 ### Patch Changes diff --git a/packages/remix-node/package.json b/packages/remix-node/package.json index 452a15cc863..8e0dc5a731c 100644 --- a/packages/remix-node/package.json +++ b/packages/remix-node/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/node", - "version": "2.16.0-pre.1", + "version": "2.16.0-pre.2", "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 836d5f88aae..af83acf6cc1 100644 --- a/packages/remix-react/CHANGELOG.md +++ b/packages/remix-react/CHANGELOG.md @@ -1,5 +1,13 @@ # `@remix-run/react` +## 2.16.0-pre.2 + +### Patch Changes + +- [REMOVE] Bump router ([#10505](https://github.com/remix-run/remix/pull/10505)) +- Updated dependencies: + - `@remix-run/server-runtime@2.16.0-pre.2` + ## 2.16.0-pre.1 ### Patch Changes diff --git a/packages/remix-react/package.json b/packages/remix-react/package.json index 0632a555e58..07d0220d799 100644 --- a/packages/remix-react/package.json +++ b/packages/remix-react/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/react", - "version": "2.16.0-pre.1", + "version": "2.16.0-pre.2", "description": "React DOM bindings for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" diff --git a/packages/remix-route-config/CHANGELOG.md b/packages/remix-route-config/CHANGELOG.md index c0510309fe4..f75d8eef8ec 100644 --- a/packages/remix-route-config/CHANGELOG.md +++ b/packages/remix-route-config/CHANGELOG.md @@ -1,5 +1,7 @@ # `@remix-run/route-config` +## 2.16.0-pre.2 + ## 2.16.0-pre.1 ## 2.16.0-pre.0 diff --git a/packages/remix-route-config/package.json b/packages/remix-route-config/package.json index 3a34e87f4a5..d2a3e6bc15a 100644 --- a/packages/remix-route-config/package.json +++ b/packages/remix-route-config/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/route-config", - "version": "2.16.0-pre.1", + "version": "2.16.0-pre.2", "description": "Config-based routing utilities, for use within routes.ts", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -26,7 +26,7 @@ "vite": "^6.0.0" }, "peerDependencies": { - "@remix-run/dev": "^2.16.0-pre.1", + "@remix-run/dev": "^2.16.0-pre.2", "typescript": "^5.1.0" }, "peerDependenciesMeta": { diff --git a/packages/remix-routes-option-adapter/CHANGELOG.md b/packages/remix-routes-option-adapter/CHANGELOG.md index 4f7082f8933..65512acb693 100644 --- a/packages/remix-routes-option-adapter/CHANGELOG.md +++ b/packages/remix-routes-option-adapter/CHANGELOG.md @@ -1,5 +1,7 @@ # `@remix-run/routes-option-adapter` +## 2.16.0-pre.2 + ## 2.16.0-pre.1 ## 2.16.0-pre.0 diff --git a/packages/remix-routes-option-adapter/package.json b/packages/remix-routes-option-adapter/package.json index 3a63848a8e1..20a1d0b2f47 100644 --- a/packages/remix-routes-option-adapter/package.json +++ b/packages/remix-routes-option-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/routes-option-adapter", - "version": "2.16.0-pre.1", + "version": "2.16.0-pre.2", "description": "Adapter for Remix's \"routes\" config option, for use within routes.ts", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -22,8 +22,8 @@ "typescript": "^5.1.6" }, "peerDependencies": { - "@remix-run/dev": "^2.16.0-pre.1", - "@remix-run/route-config": "^2.16.0-pre.1", + "@remix-run/dev": "^2.16.0-pre.2", + "@remix-run/route-config": "^2.16.0-pre.2", "typescript": "^5.1.0" }, "peerDependenciesMeta": { diff --git a/packages/remix-serve/CHANGELOG.md b/packages/remix-serve/CHANGELOG.md index 790740f7d77..0a0528fed6d 100644 --- a/packages/remix-serve/CHANGELOG.md +++ b/packages/remix-serve/CHANGELOG.md @@ -1,5 +1,13 @@ # `@remix-run/serve` +## 2.16.0-pre.2 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/express@2.16.0-pre.2` + - `@remix-run/node@2.16.0-pre.2` + ## 2.16.0-pre.1 ### Patch Changes diff --git a/packages/remix-serve/package.json b/packages/remix-serve/package.json index 5bf1980eae9..2b5c9afcfda 100644 --- a/packages/remix-serve/package.json +++ b/packages/remix-serve/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/serve", - "version": "2.16.0-pre.1", + "version": "2.16.0-pre.2", "description": "Production application server for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" diff --git a/packages/remix-server-runtime/CHANGELOG.md b/packages/remix-server-runtime/CHANGELOG.md index f983f0c72f8..96070f0203d 100644 --- a/packages/remix-server-runtime/CHANGELOG.md +++ b/packages/remix-server-runtime/CHANGELOG.md @@ -1,5 +1,7 @@ # `@remix-run/server-runtime` +## 2.16.0-pre.2 + ## 2.16.0-pre.1 ### Patch Changes diff --git a/packages/remix-server-runtime/package.json b/packages/remix-server-runtime/package.json index b9758097927..80bcc719a69 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.16.0-pre.1", + "version": "2.16.0-pre.2", "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 93bc97405b1..062835e74ba 100644 --- a/packages/remix-testing/CHANGELOG.md +++ b/packages/remix-testing/CHANGELOG.md @@ -1,5 +1,13 @@ # `@remix-run/testing` +## 2.16.0-pre.2 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/react@2.16.0-pre.2` + - `@remix-run/node@2.16.0-pre.2` + ## 2.16.0-pre.1 ### Patch Changes diff --git a/packages/remix-testing/package.json b/packages/remix-testing/package.json index 1e414b24897..68b4b91e150 100644 --- a/packages/remix-testing/package.json +++ b/packages/remix-testing/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/testing", - "version": "2.16.0-pre.1", + "version": "2.16.0-pre.2", "description": "Testing utilities for Remix apps", "homepage": "https://remix.run", "bugs": { diff --git a/packages/remix/package.json b/packages/remix/package.json index d6e1fe2bdbd..f122fcc47b3 100644 --- a/packages/remix/package.json +++ b/packages/remix/package.json @@ -1,6 +1,6 @@ { "name": "remix", - "version": "2.16.0-pre.1", + "version": "2.16.0-pre.2", "description": "A framework for building better websites", "homepage": "https://remix.run", "bugs": { From 27e4aaa08a5917c137d1b7824f338a4d9177ff46 Mon Sep 17 00:00:00 2001 From: Matt Brophy Date: Thu, 27 Feb 2025 12:13:19 -0500 Subject: [PATCH 17/18] Exit prerelease mode --- .changeset/pre.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 6270a303689..fe39b0c59b9 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -1,5 +1,5 @@ { - "mode": "pre", + "mode": "exit", "tag": "pre", "initialVersions": { "integration": "0.0.0", From 2fbec6a19fae17ebdbab2f1ced39c681fc1a5e68 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 27 Feb 2025 12:23:39 -0500 Subject: [PATCH 18/18] chore: Update version for release (#10508) Co-authored-by: github-actions[bot] Co-authored-by: Matt Brophy --- .changeset/clean-kangaroos-juggle.md | 5 -- .changeset/flat-crabs-know.md | 5 -- .changeset/happy-ravens-burn.md | 5 -- .changeset/lovely-files-move.md | 5 -- .changeset/moody-onions-hunt.md | 10 ---- .changeset/pre.json | 39 ------------ CHANGELOG.md | 59 +++++++++++-------- packages/create-remix/CHANGELOG.md | 6 +- packages/create-remix/package.json | 2 +- packages/remix-architect/CHANGELOG.md | 18 +----- packages/remix-architect/package.json | 2 +- packages/remix-cloudflare-pages/CHANGELOG.md | 18 +----- packages/remix-cloudflare-pages/package.json | 2 +- .../remix-cloudflare-workers/CHANGELOG.md | 18 +----- .../remix-cloudflare-workers/package.json | 2 +- packages/remix-cloudflare/CHANGELOG.md | 18 +----- packages/remix-cloudflare/package.json | 2 +- packages/remix-css-bundle/CHANGELOG.md | 6 +- packages/remix-css-bundle/package.json | 2 +- packages/remix-deno/CHANGELOG.md | 18 +----- packages/remix-deno/package.json | 2 +- packages/remix-dev/CHANGELOG.md | 24 +------- packages/remix-dev/package.json | 6 +- packages/remix-eslint-config/CHANGELOG.md | 6 +- packages/remix-eslint-config/package.json | 2 +- packages/remix-express/CHANGELOG.md | 18 +----- packages/remix-express/package.json | 2 +- packages/remix-fs-routes/CHANGELOG.md | 12 +--- packages/remix-fs-routes/package.json | 6 +- packages/remix-node/CHANGELOG.md | 18 +----- packages/remix-node/package.json | 2 +- packages/remix-react/CHANGELOG.md | 22 ++----- packages/remix-react/package.json | 2 +- packages/remix-route-config/CHANGELOG.md | 11 +--- packages/remix-route-config/package.json | 4 +- .../remix-routes-option-adapter/CHANGELOG.md | 12 +--- .../remix-routes-option-adapter/package.json | 6 +- packages/remix-serve/CHANGELOG.md | 22 +------ packages/remix-serve/package.json | 2 +- packages/remix-server-runtime/CHANGELOG.md | 8 +-- packages/remix-server-runtime/package.json | 2 +- packages/remix-testing/CHANGELOG.md | 22 +------ packages/remix-testing/package.json | 2 +- packages/remix/package.json | 2 +- 44 files changed, 100 insertions(+), 357 deletions(-) delete mode 100644 .changeset/clean-kangaroos-juggle.md delete mode 100644 .changeset/flat-crabs-know.md delete mode 100644 .changeset/happy-ravens-burn.md delete mode 100644 .changeset/lovely-files-move.md delete mode 100644 .changeset/moody-onions-hunt.md delete mode 100644 .changeset/pre.json diff --git a/.changeset/clean-kangaroos-juggle.md b/.changeset/clean-kangaroos-juggle.md deleted file mode 100644 index 00d1dcab1b4..00000000000 --- a/.changeset/clean-kangaroos-juggle.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@remix-run/react": patch ---- - -Don't apply Single Fetch revalidation de-optimization when in SPA mode since there is no server HTTP request diff --git a/.changeset/flat-crabs-know.md b/.changeset/flat-crabs-know.md deleted file mode 100644 index 2a5c2e42de8..00000000000 --- a/.changeset/flat-crabs-know.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@remix-run/react": patch ---- - -[REMOVE] Bump router diff --git a/.changeset/happy-ravens-burn.md b/.changeset/happy-ravens-burn.md deleted file mode 100644 index 211e7960f67..00000000000 --- a/.changeset/happy-ravens-burn.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@remix-run/dev": patch ---- - -Clean up vite-node dev server when build finishes diff --git a/.changeset/lovely-files-move.md b/.changeset/lovely-files-move.md deleted file mode 100644 index d092bc1a9b3..00000000000 --- a/.changeset/lovely-files-move.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@remix-run/dev": minor ---- - -Add Vite v6 support diff --git a/.changeset/moody-onions-hunt.md b/.changeset/moody-onions-hunt.md deleted file mode 100644 index 3b728069131..00000000000 --- a/.changeset/moody-onions-hunt.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@remix-run/react": patch -"@remix-run/server-runtime": patch ---- - -When using Lazy Route Disscovery (`future.v3_lazyRouteDiscovery`), Remix will now detect manifest version mismatches after a new deploy and trigger a document reload to sync up any active client sessions with the newly deployed version - -- On navigations to undiscovered routes, this mismatch will trigger a document reload of the destination path -- On `fetcher` calls to undiscovered routes, this mismatch will trigger a document reload of the current path -- While performing Eager Route Discovery on rendered `` components, mismatches will result in a no-op \ No newline at end of file diff --git a/.changeset/pre.json b/.changeset/pre.json deleted file mode 100644 index fe39b0c59b9..00000000000 --- a/.changeset/pre.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "mode": "exit", - "tag": "pre", - "initialVersions": { - "integration": "0.0.0", - "integration-cf-template": "0.0.0", - "integration-deno-template": "0.0.0", - "integration-node-template": "0.0.0", - "integration-vite-5-template": "0.0.0", - "integration-vite-6-template": "0.0.0", - "integration-vite-cloudflare-template": "0.0.0", - "create-remix": "2.15.3", - "remix": "2.15.3", - "@remix-run/architect": "2.15.3", - "@remix-run/cloudflare": "2.15.3", - "@remix-run/cloudflare-pages": "2.15.3", - "@remix-run/cloudflare-workers": "2.15.3", - "@remix-run/css-bundle": "2.15.3", - "@remix-run/deno": "2.15.3", - "@remix-run/dev": "2.15.3", - "@remix-run/eslint-config": "2.15.3", - "@remix-run/express": "2.15.3", - "@remix-run/fs-routes": "2.15.3", - "@remix-run/node": "2.15.3", - "@remix-run/react": "2.15.3", - "@remix-run/route-config": "2.15.3", - "@remix-run/routes-option-adapter": "2.15.3", - "@remix-run/serve": "2.15.3", - "@remix-run/server-runtime": "2.15.3", - "@remix-run/testing": "2.15.3" - }, - "changesets": [ - "clean-kangaroos-juggle", - "flat-crabs-know", - "happy-ravens-burn", - "lovely-files-move", - "moody-onions-hunt" - ] -} diff --git a/CHANGELOG.md b/CHANGELOG.md index 25b883cbca2..9fa8053acd4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,12 +16,13 @@ We manage release notes in this file instead of the paginated Github Releases Pa - [v2.16.0](#v2160) - [Minor Changes](#minor-changes) - [Patch Changes](#patch-changes) + - [Updated Dependencies](#updated-dependencies) - [v2.15.3](#v2153) - [Patch Changes](#patch-changes-1) - - [Updated Dependencies](#updated-dependencies) + - [Updated Dependencies](#updated-dependencies-1) - [v2.15.2](#v2152) - [Patch Changes](#patch-changes-2) - - [Updated Dependencies](#updated-dependencies-1) + - [Updated Dependencies](#updated-dependencies-2) - [v2.15.1](#v2151) - [Patch Changes](#patch-changes-3) - [v2.15.0](#v2150) @@ -29,7 +30,7 @@ We manage release notes in this file instead of the paginated Github Releases Pa - [v2.14.0](#v2140) - [Minor Changes](#minor-changes-1) - [Patch Changes](#patch-changes-5) - - [Updated Dependencies](#updated-dependencies-2) + - [Updated Dependencies](#updated-dependencies-3) - [Changes by Package](#changes-by-package) - [v2.13.1](#v2131) - [Patch Changes](#patch-changes-6) @@ -38,7 +39,7 @@ We manage release notes in this file instead of the paginated Github Releases Pa - [Stabilized APIs](#stabilized-apis) - [Minor Changes](#minor-changes-2) - [Patch Changes](#patch-changes-7) - - [Updated Dependencies](#updated-dependencies-3) + - [Updated Dependencies](#updated-dependencies-4) - [Changes by Package](#changes-by-package-1) - [v2.12.1](#v2121) - [Patch Changes](#patch-changes-8) @@ -50,11 +51,11 @@ We manage release notes in this file instead of the paginated Github Releases Pa - [Updates to Single Fetch Revalidation Behavior (unstable)](#updates-to-single-fetch-revalidation-behavior-unstable) - [Minor Changes](#minor-changes-3) - [Patch Changes](#patch-changes-9) - - [Updated Dependencies](#updated-dependencies-4) + - [Updated Dependencies](#updated-dependencies-5) - [Changes by Package](#changes-by-package-3) - [v2.11.2](#v2112) - [Patch Changes](#patch-changes-10) - - [Updated Dependencies](#updated-dependencies-5) + - [Updated Dependencies](#updated-dependencies-6) - [Changes by Package](#changes-by-package-4) - [v2.11.1](#v2111) - [Patch Changes](#patch-changes-11) @@ -65,31 +66,31 @@ We manage release notes in this file instead of the paginated Github Releases Pa - [Removed `response` stub in Single Fetch (unstable)](#removed-response-stub-in-single-fetch-unstable) - [Minor Changes](#minor-changes-4) - [Patch Changes](#patch-changes-12) - - [Updated Dependencies](#updated-dependencies-6) + - [Updated Dependencies](#updated-dependencies-7) - [Changes by Package](#changes-by-package-6) - [v2.10.3](#v2103) - [Patch Changes](#patch-changes-13) - - [Updated Dependencies](#updated-dependencies-7) + - [Updated Dependencies](#updated-dependencies-8) - [Changes by Package](#changes-by-package-7) - [v2.10.2](#v2102) - [Patch Changes](#patch-changes-14) - [Changes by Package](#changes-by-package-8) - [v2.10.1](#v2101) - [Patch Changes](#patch-changes-15) - - [Updated Dependencies](#updated-dependencies-8) + - [Updated Dependencies](#updated-dependencies-9) - [Changes by Package](#changes-by-package-9) - [v2.10.0](#v2100) - [What's Changed](#whats-changed-3) - [Lazy Route Discovery (a.k.a. "Fog of War")](#lazy-route-discovery-aka-fog-of-war) - [Minor Changes](#minor-changes-5) - [Patch Changes](#patch-changes-16) - - [Updated Dependencies](#updated-dependencies-9) + - [Updated Dependencies](#updated-dependencies-10) - [Changes by Package](#changes-by-package-10) - [v2.9.2](#v292) - [What's Changed](#whats-changed-4) - [Updated Type-Safety for Single Fetch](#updated-type-safety-for-single-fetch) - [Patch Changes](#patch-changes-17) - - [Updated Dependencies](#updated-dependencies-10) + - [Updated Dependencies](#updated-dependencies-11) - [Changes by Package](#changes-by-package-11) - [v2.9.1](#v291) - [Patch Changes](#patch-changes-18) @@ -100,16 +101,16 @@ We manage release notes in this file instead of the paginated Github Releases Pa - [Undici](#undici) - [Minor Changes](#minor-changes-6) - [Patch Changes](#patch-changes-19) - - [Updated Dependencies](#updated-dependencies-11) + - [Updated Dependencies](#updated-dependencies-12) - [Changes by Package](#changes-by-package-13) - [v2.8.1](#v281) - [Patch Changes](#patch-changes-20) - - [Updated Dependencies](#updated-dependencies-12) + - [Updated Dependencies](#updated-dependencies-13) - [Changes by Package](#changes-by-package-14) - [v2.8.0](#v280) - [Minor Changes](#minor-changes-7) - [Patch Changes](#patch-changes-21) - - [Updated Dependencies](#updated-dependencies-13) + - [Updated Dependencies](#updated-dependencies-14) - [Changes by Package](#changes-by-package-15) - [2.7.2](#272) - [Patch Changes](#patch-changes-22) @@ -123,18 +124,18 @@ We manage release notes in this file instead of the paginated Github Releases Pa - [Cloudflare Proxy as a Vite Plugin](#cloudflare-proxy-as-a-vite-plugin) - [Minor Changes](#minor-changes-8) - [Patch Changes](#patch-changes-24) - - [Updated Dependencies](#updated-dependencies-14) + - [Updated Dependencies](#updated-dependencies-15) - [Changes by Package](#changes-by-package-16) - [v2.6.0](#v260) - [What's Changed](#whats-changed-7) - [Unstable Vite Plugin updates](#unstable-vite-plugin-updates) - [Minor Changes](#minor-changes-9) - [Patch Changes](#patch-changes-25) - - [Updated Dependencies](#updated-dependencies-15) + - [Updated Dependencies](#updated-dependencies-16) - [Changes by Package](#changes-by-package-17) - [v2.5.1](#v251) - [Patch Changes](#patch-changes-26) - - [Updated Dependencies](#updated-dependencies-16) + - [Updated Dependencies](#updated-dependencies-17) - [Changes by Package](#changes-by-package-18) - [v2.5.0](#v250) - [What's Changed](#whats-changed-8) @@ -142,11 +143,11 @@ We manage release notes in this file instead of the paginated Github Releases Pa - [Server Bundles (unstable)](#server-bundles-unstable) - [Minor Changes](#minor-changes-10) - [Patch Changes](#patch-changes-27) - - [Updated Dependencies](#updated-dependencies-17) + - [Updated Dependencies](#updated-dependencies-18) - [Changes by Package](#changes-by-package-19) - [v2.4.1](#v241) - [Patch Changes](#patch-changes-28) - - [Updated Dependencies](#updated-dependencies-18) + - [Updated Dependencies](#updated-dependencies-19) - [Changes by Package](#changes-by-package-20) - [v2.4.0](#v240) - [What's Changed](#whats-changed-9) @@ -155,11 +156,11 @@ We manage release notes in this file instead of the paginated Github Releases Pa - [Vite Updates (Unstable)](#vite-updates-unstable) - [Minor Changes](#minor-changes-11) - [Patch Changes](#patch-changes-29) - - [Updated Dependencies](#updated-dependencies-19) + - [Updated Dependencies](#updated-dependencies-20) - [Changes by Package](#changes-by-package-21) - [v2.3.1](#v231) - [Patch Changes](#patch-changes-30) - - [Updated Dependencies](#updated-dependencies-20) + - [Updated Dependencies](#updated-dependencies-21) - [Changes by Package](#changes-by-package-22) - [v2.3.0](#v230) - [What's Changed](#whats-changed-10) @@ -167,7 +168,7 @@ We manage release notes in this file instead of the paginated Github Releases Pa - [`unstable_flushSync` API](#unstable_flushsync-api) - [Minor Changes](#minor-changes-12) - [Patch Changes](#patch-changes-31) - - [Updated Dependencies](#updated-dependencies-21) + - [Updated Dependencies](#updated-dependencies-22) - [Changes by Package](#changes-by-package-23) - [v2.2.0](#v220) - [What's Changed](#whats-changed-11) @@ -176,7 +177,7 @@ We manage release notes in this file instead of the paginated Github Releases Pa - [Persistence Future Flag](#persistence-future-flag) - [Minor Changes](#minor-changes-13) - [Patch Changes](#patch-changes-32) - - [Updated Dependencies](#updated-dependencies-22) + - [Updated Dependencies](#updated-dependencies-23) - [Changes by Package](#changes-by-package-24) - [v2.1.0](#v210) - [What's Changed](#whats-changed-12) @@ -184,7 +185,7 @@ We manage release notes in this file instead of the paginated Github Releases Pa - [Stable `createRemixStub`](#stable-createremixstub) - [Minor Changes](#minor-changes-14) - [Patch Changes](#patch-changes-33) - - [Updated Dependencies](#updated-dependencies-23) + - [Updated Dependencies](#updated-dependencies-24) - [Changes by Package](#changes-by-package-25) - [v2.0.1](#v201) - [Patch Changes](#patch-changes-34) @@ -199,7 +200,7 @@ We manage release notes in this file instead of the paginated Github Releases Pa - [Breaking Type Changes](#breaking-type-changes) - [New Features](#new-features) - [Other Notable Changes](#other-notable-changes) - - [Updated Dependencies](#updated-dependencies-24) + - [Updated Dependencies](#updated-dependencies-25) - [Changes by Package](#changes-by-package-26) @@ -253,7 +254,7 @@ Date: YYYY-MM-DD ## v2.16.0 -Date: 2025-02-24 +Date: 2025-02-27 ### Minor Changes @@ -268,6 +269,11 @@ Date: 2025-02-24 - On `fetcher` calls to undiscovered routes, this mismatch will trigger a document reload of the current path - While performing Eager Route Discovery on rendered `` components, mismatches will result in a no-op +### Updated Dependencies + +- [`react-router-dom@6.30.0`](https://github.com/remix-run/react-router/releases/tag/react-router%406.30.0) +- [`@remix-run/router@1.23.0`](https://github.com/remix-run/react-router/blob/main/packages/router/CHANGELOG.md#1230) + **Full Changelog**: [`v2.15.3...v2.16.0`](https://github.com/remix-run/remix/compare/remix@2.15.3...remix@2.16.0) ## v2.15.3 @@ -283,6 +289,7 @@ Date: 2025-01-30 ### Updated Dependencies - [`react-router-dom@6.29.0`](https://github.com/remix-run/react-router/releases/tag/react-router%406.29.0) +- [`@remix-run/router@1.22.0`](https://github.com/remix-run/react-router/blob/main/packages/router/CHANGELOG.md#1220) **Full Changelog**: [`v2.15.2...v2.15.3`](https://github.com/remix-run/remix/compare/remix@2.15.2...remix@2.15.3) diff --git a/packages/create-remix/CHANGELOG.md b/packages/create-remix/CHANGELOG.md index e371369865a..afd381add9a 100644 --- a/packages/create-remix/CHANGELOG.md +++ b/packages/create-remix/CHANGELOG.md @@ -1,10 +1,8 @@ # `create-remix` -## 2.16.0-pre.2 +## 2.16.0 -## 2.16.0-pre.1 - -## 2.16.0-pre.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.16.0. ## 2.15.3 diff --git a/packages/create-remix/package.json b/packages/create-remix/package.json index 30bed0d3e0d..186f87682ac 100644 --- a/packages/create-remix/package.json +++ b/packages/create-remix/package.json @@ -1,6 +1,6 @@ { "name": "create-remix", - "version": "2.16.0-pre.2", + "version": "2.16.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 9984a828a47..0a2a510f645 100644 --- a/packages/remix-architect/CHANGELOG.md +++ b/packages/remix-architect/CHANGELOG.md @@ -1,25 +1,11 @@ # `@remix-run/architect` -## 2.16.0-pre.2 +## 2.16.0 ### Patch Changes - Updated dependencies: - - `@remix-run/node@2.16.0-pre.2` - -## 2.16.0-pre.1 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/node@2.16.0-pre.1` - -## 2.16.0-pre.0 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/node@2.16.0-pre.0` + - `@remix-run/node@2.16.0` ## 2.15.3 diff --git a/packages/remix-architect/package.json b/packages/remix-architect/package.json index e1a297d2739..bbff6373b27 100644 --- a/packages/remix-architect/package.json +++ b/packages/remix-architect/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/architect", - "version": "2.16.0-pre.2", + "version": "2.16.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 ed03703f794..3664a10a75a 100644 --- a/packages/remix-cloudflare-pages/CHANGELOG.md +++ b/packages/remix-cloudflare-pages/CHANGELOG.md @@ -1,25 +1,11 @@ # `@remix-run/cloudflare-pages` -## 2.16.0-pre.2 +## 2.16.0 ### Patch Changes - Updated dependencies: - - `@remix-run/cloudflare@2.16.0-pre.2` - -## 2.16.0-pre.1 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/cloudflare@2.16.0-pre.1` - -## 2.16.0-pre.0 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/cloudflare@2.16.0-pre.0` + - `@remix-run/cloudflare@2.16.0` ## 2.15.3 diff --git a/packages/remix-cloudflare-pages/package.json b/packages/remix-cloudflare-pages/package.json index 77221556685..aae4e02aefc 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.16.0-pre.2", + "version": "2.16.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 e396c945959..8d6dd47e18f 100644 --- a/packages/remix-cloudflare-workers/CHANGELOG.md +++ b/packages/remix-cloudflare-workers/CHANGELOG.md @@ -1,25 +1,11 @@ # `@remix-run/cloudflare-workers` -## 2.16.0-pre.2 +## 2.16.0 ### Patch Changes - Updated dependencies: - - `@remix-run/cloudflare@2.16.0-pre.2` - -## 2.16.0-pre.1 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/cloudflare@2.16.0-pre.1` - -## 2.16.0-pre.0 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/cloudflare@2.16.0-pre.0` + - `@remix-run/cloudflare@2.16.0` ## 2.15.3 diff --git a/packages/remix-cloudflare-workers/package.json b/packages/remix-cloudflare-workers/package.json index 78953cbad02..88c194290a1 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.16.0-pre.2", + "version": "2.16.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 2e9cb8eb3db..1230f07d9b0 100644 --- a/packages/remix-cloudflare/CHANGELOG.md +++ b/packages/remix-cloudflare/CHANGELOG.md @@ -1,25 +1,11 @@ # `@remix-run/cloudflare` -## 2.16.0-pre.2 +## 2.16.0 ### Patch Changes - Updated dependencies: - - `@remix-run/server-runtime@2.16.0-pre.2` - -## 2.16.0-pre.1 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/server-runtime@2.16.0-pre.1` - -## 2.16.0-pre.0 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/server-runtime@2.16.0-pre.0` + - `@remix-run/server-runtime@2.16.0` ## 2.15.3 diff --git a/packages/remix-cloudflare/package.json b/packages/remix-cloudflare/package.json index c4c68fbd6e2..142b2923c65 100644 --- a/packages/remix-cloudflare/package.json +++ b/packages/remix-cloudflare/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/cloudflare", - "version": "2.16.0-pre.2", + "version": "2.16.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 4575ed68f90..fbf028d6c4c 100644 --- a/packages/remix-css-bundle/CHANGELOG.md +++ b/packages/remix-css-bundle/CHANGELOG.md @@ -1,10 +1,8 @@ # `@remix-run/css-bundle` -## 2.16.0-pre.2 +## 2.16.0 -## 2.16.0-pre.1 - -## 2.16.0-pre.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.16.0. ## 2.15.3 diff --git a/packages/remix-css-bundle/package.json b/packages/remix-css-bundle/package.json index e27e53ad15d..5df75bf1b3f 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.16.0-pre.2", + "version": "2.16.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 3d795873954..256abc1f4f3 100644 --- a/packages/remix-deno/CHANGELOG.md +++ b/packages/remix-deno/CHANGELOG.md @@ -1,25 +1,11 @@ # `@remix-run/deno` -## 2.16.0-pre.2 +## 2.16.0 ### Patch Changes - Updated dependencies: - - `@remix-run/server-runtime@2.16.0-pre.2` - -## 2.16.0-pre.1 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/server-runtime@2.16.0-pre.1` - -## 2.16.0-pre.0 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/server-runtime@2.16.0-pre.0` + - `@remix-run/server-runtime@2.16.0` ## 2.15.3 diff --git a/packages/remix-deno/package.json b/packages/remix-deno/package.json index c22fc1d633d..db1878b0c61 100644 --- a/packages/remix-deno/package.json +++ b/packages/remix-deno/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/deno", - "version": "2.16.0-pre.2", + "version": "2.16.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 5ef1c2020a4..66df0bf7297 100644 --- a/packages/remix-dev/CHANGELOG.md +++ b/packages/remix-dev/CHANGELOG.md @@ -1,22 +1,6 @@ # `@remix-run/dev` -## 2.16.0-pre.2 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/node@2.16.0-pre.2` - - `@remix-run/server-runtime@2.16.0-pre.2` - -## 2.16.0-pre.1 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/server-runtime@2.16.0-pre.1` - - `@remix-run/node@2.16.0-pre.1` - -## 2.16.0-pre.0 +## 2.16.0 ### Minor Changes @@ -26,10 +10,8 @@ - Clean up vite-node dev server when build finishes ([#10477](https://github.com/remix-run/remix/pull/10477)) - Updated dependencies: - - `@remix-run/react@2.16.0-pre.0` - - `@remix-run/node@2.16.0-pre.0` - - `@remix-run/serve@2.16.0-pre.0` - - `@remix-run/server-runtime@2.16.0-pre.0` + - `@remix-run/server-runtime@2.16.0` + - `@remix-run/node@2.16.0` ## 2.15.3 diff --git a/packages/remix-dev/package.json b/packages/remix-dev/package.json index 52285738a3a..599d15a8355 100644 --- a/packages/remix-dev/package.json +++ b/packages/remix-dev/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/dev", - "version": "2.16.0-pre.2", + "version": "2.16.0", "description": "Dev tools and CLI for Remix", "homepage": "https://remix.run", "bugs": { @@ -109,8 +109,8 @@ "wrangler": "^3.28.2" }, "peerDependencies": { - "@remix-run/react": "^2.16.0-pre.2", - "@remix-run/serve": "^2.16.0-pre.2", + "@remix-run/react": "^2.16.0", + "@remix-run/serve": "^2.16.0", "typescript": "^5.1.0", "vite": "^5.1.0 || ^6.0.0", "wrangler": "^3.28.2" diff --git a/packages/remix-eslint-config/CHANGELOG.md b/packages/remix-eslint-config/CHANGELOG.md index 4a4332bcecd..766f1358d76 100644 --- a/packages/remix-eslint-config/CHANGELOG.md +++ b/packages/remix-eslint-config/CHANGELOG.md @@ -1,10 +1,8 @@ # `@remix-run/eslint-config` -## 2.16.0-pre.2 +## 2.16.0 -## 2.16.0-pre.1 - -## 2.16.0-pre.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.16.0. ## 2.15.3 diff --git a/packages/remix-eslint-config/package.json b/packages/remix-eslint-config/package.json index 6df8aec8ece..d329dfcfbad 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.16.0-pre.2", + "version": "2.16.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 34fcd8ca7c4..87c661c527c 100644 --- a/packages/remix-express/CHANGELOG.md +++ b/packages/remix-express/CHANGELOG.md @@ -1,25 +1,11 @@ # `@remix-run/express` -## 2.16.0-pre.2 +## 2.16.0 ### Patch Changes - Updated dependencies: - - `@remix-run/node@2.16.0-pre.2` - -## 2.16.0-pre.1 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/node@2.16.0-pre.1` - -## 2.16.0-pre.0 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/node@2.16.0-pre.0` + - `@remix-run/node@2.16.0` ## 2.15.3 diff --git a/packages/remix-express/package.json b/packages/remix-express/package.json index 589fb2b1efb..a6b834fcbc5 100644 --- a/packages/remix-express/package.json +++ b/packages/remix-express/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/express", - "version": "2.16.0-pre.2", + "version": "2.16.0", "description": "Express server request handler for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" diff --git a/packages/remix-fs-routes/CHANGELOG.md b/packages/remix-fs-routes/CHANGELOG.md index 856a58227fa..f5f91167072 100644 --- a/packages/remix-fs-routes/CHANGELOG.md +++ b/packages/remix-fs-routes/CHANGELOG.md @@ -1,16 +1,8 @@ # `@remix-run/fs-routes` -## 2.16.0-pre.2 +## 2.16.0 -## 2.16.0-pre.1 - -## 2.16.0-pre.0 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/dev@2.16.0-pre.0` - - `@remix-run/route-config@2.16.0-pre.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.16.0. ## 2.15.3 diff --git a/packages/remix-fs-routes/package.json b/packages/remix-fs-routes/package.json index 5bea0edbd0b..7c75baba2dd 100644 --- a/packages/remix-fs-routes/package.json +++ b/packages/remix-fs-routes/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/fs-routes", - "version": "2.16.0-pre.2", + "version": "2.16.0", "description": "Config-based file system routing conventions, for use within routes.ts", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -22,8 +22,8 @@ "typescript": "^5.1.6" }, "peerDependencies": { - "@remix-run/dev": "^2.16.0-pre.2", - "@remix-run/route-config": "^2.16.0-pre.2", + "@remix-run/dev": "^2.16.0", + "@remix-run/route-config": "^2.16.0", "typescript": "^5.1.0" }, "peerDependenciesMeta": { diff --git a/packages/remix-node/CHANGELOG.md b/packages/remix-node/CHANGELOG.md index 05f91999a57..b247b313c1e 100644 --- a/packages/remix-node/CHANGELOG.md +++ b/packages/remix-node/CHANGELOG.md @@ -1,25 +1,11 @@ # `@remix-run/node` -## 2.16.0-pre.2 +## 2.16.0 ### Patch Changes - Updated dependencies: - - `@remix-run/server-runtime@2.16.0-pre.2` - -## 2.16.0-pre.1 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/server-runtime@2.16.0-pre.1` - -## 2.16.0-pre.0 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/server-runtime@2.16.0-pre.0` + - `@remix-run/server-runtime@2.16.0` ## 2.15.3 diff --git a/packages/remix-node/package.json b/packages/remix-node/package.json index 8e0dc5a731c..c9e82e9e7ff 100644 --- a/packages/remix-node/package.json +++ b/packages/remix-node/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/node", - "version": "2.16.0-pre.2", + "version": "2.16.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 af83acf6cc1..128f2714b7b 100644 --- a/packages/remix-react/CHANGELOG.md +++ b/packages/remix-react/CHANGELOG.md @@ -1,33 +1,19 @@ # `@remix-run/react` -## 2.16.0-pre.2 +## 2.16.0 ### Patch Changes -- [REMOVE] Bump router ([#10505](https://github.com/remix-run/remix/pull/10505)) -- Updated dependencies: - - `@remix-run/server-runtime@2.16.0-pre.2` - -## 2.16.0-pre.1 - -### Patch Changes +- Don't apply Single Fetch revalidation de-optimization when in SPA mode since there is no server HTTP request ([#10479](https://github.com/remix-run/remix/pull/10479)) -- When using Lazy Route Disscovery (`future.v3_lazyRouteDiscovery`), Remix will now detect manifest version mismatches after a new deploy and trigger a document reload to sync up any active client sessions with the newly deployed version ([#10498](https://github.com/remix-run/remix/pull/10498)) +- When using Lazy Route Discovery (`future.v3_lazyRouteDiscovery`), Remix will now detect manifest version mismatches after a new deploy and trigger a document reload to sync up any active client sessions with the newly deployed version ([#10498](https://github.com/remix-run/remix/pull/10498)) - On navigations to undiscovered routes, this mismatch will trigger a document reload of the destination path - On `fetcher` calls to undiscovered routes, this mismatch will trigger a document reload of the current path - While performing Eager Route Discovery on rendered `` components, mismatches will result in a no-op - Updated dependencies: - - `@remix-run/server-runtime@2.16.0-pre.1` - -## 2.16.0-pre.0 - -### Patch Changes - -- Don't apply Single Fetch revalidation de-optimization when in SPA mode since there is no server HTTP request ([#10479](https://github.com/remix-run/remix/pull/10479)) -- Updated dependencies: - - `@remix-run/server-runtime@2.16.0-pre.0` + - `@remix-run/server-runtime@2.16.0` ## 2.15.3 diff --git a/packages/remix-react/package.json b/packages/remix-react/package.json index 07d0220d799..9468c440268 100644 --- a/packages/remix-react/package.json +++ b/packages/remix-react/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/react", - "version": "2.16.0-pre.2", + "version": "2.16.0", "description": "React DOM bindings for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" diff --git a/packages/remix-route-config/CHANGELOG.md b/packages/remix-route-config/CHANGELOG.md index f75d8eef8ec..76f1de8361b 100644 --- a/packages/remix-route-config/CHANGELOG.md +++ b/packages/remix-route-config/CHANGELOG.md @@ -1,15 +1,8 @@ # `@remix-run/route-config` -## 2.16.0-pre.2 +## 2.16.0 -## 2.16.0-pre.1 - -## 2.16.0-pre.0 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/dev@2.16.0-pre.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.16.0. ## 2.15.3 diff --git a/packages/remix-route-config/package.json b/packages/remix-route-config/package.json index d2a3e6bc15a..485ec3161d3 100644 --- a/packages/remix-route-config/package.json +++ b/packages/remix-route-config/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/route-config", - "version": "2.16.0-pre.2", + "version": "2.16.0", "description": "Config-based routing utilities, for use within routes.ts", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -26,7 +26,7 @@ "vite": "^6.0.0" }, "peerDependencies": { - "@remix-run/dev": "^2.16.0-pre.2", + "@remix-run/dev": "^2.16.0", "typescript": "^5.1.0" }, "peerDependenciesMeta": { diff --git a/packages/remix-routes-option-adapter/CHANGELOG.md b/packages/remix-routes-option-adapter/CHANGELOG.md index 65512acb693..312a2f96dcd 100644 --- a/packages/remix-routes-option-adapter/CHANGELOG.md +++ b/packages/remix-routes-option-adapter/CHANGELOG.md @@ -1,16 +1,8 @@ # `@remix-run/routes-option-adapter` -## 2.16.0-pre.2 +## 2.16.0 -## 2.16.0-pre.1 - -## 2.16.0-pre.0 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/dev@2.16.0-pre.0` - - `@remix-run/route-config@2.16.0-pre.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.16.0. ## 2.15.3 diff --git a/packages/remix-routes-option-adapter/package.json b/packages/remix-routes-option-adapter/package.json index 20a1d0b2f47..1c23dabc1d4 100644 --- a/packages/remix-routes-option-adapter/package.json +++ b/packages/remix-routes-option-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/routes-option-adapter", - "version": "2.16.0-pre.2", + "version": "2.16.0", "description": "Adapter for Remix's \"routes\" config option, for use within routes.ts", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -22,8 +22,8 @@ "typescript": "^5.1.6" }, "peerDependencies": { - "@remix-run/dev": "^2.16.0-pre.2", - "@remix-run/route-config": "^2.16.0-pre.2", + "@remix-run/dev": "^2.16.0", + "@remix-run/route-config": "^2.16.0", "typescript": "^5.1.0" }, "peerDependenciesMeta": { diff --git a/packages/remix-serve/CHANGELOG.md b/packages/remix-serve/CHANGELOG.md index 0a0528fed6d..aa7706b7c14 100644 --- a/packages/remix-serve/CHANGELOG.md +++ b/packages/remix-serve/CHANGELOG.md @@ -1,28 +1,12 @@ # `@remix-run/serve` -## 2.16.0-pre.2 +## 2.16.0 ### Patch Changes - Updated dependencies: - - `@remix-run/express@2.16.0-pre.2` - - `@remix-run/node@2.16.0-pre.2` - -## 2.16.0-pre.1 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/node@2.16.0-pre.1` - - `@remix-run/express@2.16.0-pre.1` - -## 2.16.0-pre.0 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/express@2.16.0-pre.0` - - `@remix-run/node@2.16.0-pre.0` + - `@remix-run/node@2.16.0` + - `@remix-run/express@2.16.0` ## 2.15.3 diff --git a/packages/remix-serve/package.json b/packages/remix-serve/package.json index 2b5c9afcfda..5611976e587 100644 --- a/packages/remix-serve/package.json +++ b/packages/remix-serve/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/serve", - "version": "2.16.0-pre.2", + "version": "2.16.0", "description": "Production application server for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" diff --git a/packages/remix-server-runtime/CHANGELOG.md b/packages/remix-server-runtime/CHANGELOG.md index 96070f0203d..22e9792000c 100644 --- a/packages/remix-server-runtime/CHANGELOG.md +++ b/packages/remix-server-runtime/CHANGELOG.md @@ -1,19 +1,15 @@ # `@remix-run/server-runtime` -## 2.16.0-pre.2 - -## 2.16.0-pre.1 +## 2.16.0 ### Patch Changes -- When using Lazy Route Disscovery (`future.v3_lazyRouteDiscovery`), Remix will now detect manifest version mismatches after a new deploy and trigger a document reload to sync up any active client sessions with the newly deployed version ([#10498](https://github.com/remix-run/remix/pull/10498)) +- When using Lazy Route Discovery (`future.v3_lazyRouteDiscovery`), Remix will now detect manifest version mismatches after a new deploy and trigger a document reload to sync up any active client sessions with the newly deployed version ([#10498](https://github.com/remix-run/remix/pull/10498)) - On navigations to undiscovered routes, this mismatch will trigger a document reload of the destination path - On `fetcher` calls to undiscovered routes, this mismatch will trigger a document reload of the current path - While performing Eager Route Discovery on rendered `` components, mismatches will result in a no-op -## 2.16.0-pre.0 - ## 2.15.3 ### Patch Changes diff --git a/packages/remix-server-runtime/package.json b/packages/remix-server-runtime/package.json index 80bcc719a69..33d5d562f4b 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.16.0-pre.2", + "version": "2.16.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 062835e74ba..1a8f1ec3281 100644 --- a/packages/remix-testing/CHANGELOG.md +++ b/packages/remix-testing/CHANGELOG.md @@ -1,28 +1,12 @@ # `@remix-run/testing` -## 2.16.0-pre.2 +## 2.16.0 ### Patch Changes - Updated dependencies: - - `@remix-run/react@2.16.0-pre.2` - - `@remix-run/node@2.16.0-pre.2` - -## 2.16.0-pre.1 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/react@2.16.0-pre.1` - - `@remix-run/node@2.16.0-pre.1` - -## 2.16.0-pre.0 - -### Patch Changes - -- Updated dependencies: - - `@remix-run/react@2.16.0-pre.0` - - `@remix-run/node@2.16.0-pre.0` + - `@remix-run/react@2.16.0` + - `@remix-run/node@2.16.0` ## 2.15.3 diff --git a/packages/remix-testing/package.json b/packages/remix-testing/package.json index 68b4b91e150..225eafcdaa2 100644 --- a/packages/remix-testing/package.json +++ b/packages/remix-testing/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/testing", - "version": "2.16.0-pre.2", + "version": "2.16.0", "description": "Testing utilities for Remix apps", "homepage": "https://remix.run", "bugs": { diff --git a/packages/remix/package.json b/packages/remix/package.json index f122fcc47b3..d5561a5928d 100644 --- a/packages/remix/package.json +++ b/packages/remix/package.json @@ -1,6 +1,6 @@ { "name": "remix", - "version": "2.16.0-pre.2", + "version": "2.16.0", "description": "A framework for building better websites", "homepage": "https://remix.run", "bugs": {