From e823f3d2b02244a73563d79016b457c37b399fab Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 14 Dec 2022 22:07:33 +0000 Subject: [PATCH] chore: Update version for release (pre) --- .changeset/pre.json | 17 ++++++- packages/create-remix/CHANGELOG.md | 7 +++ packages/create-remix/package.json | 4 +- packages/remix-architect/CHANGELOG.md | 7 +++ packages/remix-architect/package.json | 4 +- packages/remix-cloudflare-pages/CHANGELOG.md | 7 +++ packages/remix-cloudflare-pages/package.json | 4 +- .../remix-cloudflare-workers/CHANGELOG.md | 7 +++ .../remix-cloudflare-workers/package.json | 4 +- packages/remix-cloudflare/CHANGELOG.md | 7 +++ packages/remix-cloudflare/package.json | 4 +- packages/remix-deno/CHANGELOG.md | 8 +++ packages/remix-deno/package.json | 4 +- packages/remix-dev/CHANGELOG.md | 50 +++++++++++++++++++ packages/remix-dev/package.json | 8 +-- 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 | 4 +- packages/remix-netlify/CHANGELOG.md | 7 +++ packages/remix-netlify/package.json | 4 +- packages/remix-node/CHANGELOG.md | 7 +++ packages/remix-node/package.json | 4 +- packages/remix-react/CHANGELOG.md | 20 ++++++++ packages/remix-react/package.json | 4 +- packages/remix-serve/CHANGELOG.md | 31 ++++++++++++ packages/remix-serve/package.json | 4 +- packages/remix-server-runtime/CHANGELOG.md | 33 ++++++++++++ packages/remix-server-runtime/package.json | 2 +- packages/remix-testing/CHANGELOG.md | 11 ++++ packages/remix-testing/package.json | 8 +-- packages/remix-vercel/CHANGELOG.md | 7 +++ packages/remix-vercel/package.json | 4 +- packages/remix/CHANGELOG.md | 41 +++++++++++++++ packages/remix/package.json | 2 +- 35 files changed, 310 insertions(+), 36 deletions(-) create mode 100644 packages/remix-testing/CHANGELOG.md diff --git a/.changeset/pre.json b/.changeset/pre.json index 0ff09e7affc..da6e8e07b1f 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -20,5 +20,20 @@ "@remix-run/testing": "1.8.2", "@remix-run/vercel": "1.8.2" }, - "changesets": [] + "changesets": [ + "big-spoons-grab", + "clean-clocks-float", + "early-camels-guess", + "fresh-shrimps-join", + "late-files-trade", + "late-peas-hang", + "light-sheep-give", + "metal-impalas-brake", + "mighty-grapes-laugh", + "moody-pants-own", + "poor-shrimps-boil", + "sharp-paws-nail", + "thin-oranges-boil", + "weak-beds-thank" + ] } diff --git a/packages/create-remix/CHANGELOG.md b/packages/create-remix/CHANGELOG.md index c126e00406e..eda83e9bd39 100644 --- a/packages/create-remix/CHANGELOG.md +++ b/packages/create-remix/CHANGELOG.md @@ -1,5 +1,12 @@ # `create-remix` +## 2.0.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/dev@2.0.0-pre.0` + ## 1.8.2 ### Patch Changes diff --git a/packages/create-remix/package.json b/packages/create-remix/package.json index 8d2c9ab5c23..eaa3d04c323 100644 --- a/packages/create-remix/package.json +++ b/packages/create-remix/package.json @@ -1,6 +1,6 @@ { "name": "create-remix", - "version": "1.8.2", + "version": "2.0.0-pre.0", "description": "Create a new Remix app", "homepage": "https://remix.run", "bugs": { @@ -17,7 +17,7 @@ "create-remix": "dist/cli.js" }, "dependencies": { - "@remix-run/dev": "1.8.2" + "@remix-run/dev": "2.0.0-pre.0" }, "engines": { "node": ">=14" diff --git a/packages/remix-architect/CHANGELOG.md b/packages/remix-architect/CHANGELOG.md index 20bb5a749c1..6491f49a888 100644 --- a/packages/remix-architect/CHANGELOG.md +++ b/packages/remix-architect/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/architect` +## 2.0.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/node@2.0.0-pre.0` + ## 1.8.2 ### Patch Changes diff --git a/packages/remix-architect/package.json b/packages/remix-architect/package.json index 75c484ab242..5e90ce2656e 100644 --- a/packages/remix-architect/package.json +++ b/packages/remix-architect/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/architect", - "version": "1.8.2", + "version": "2.0.0-pre.0", "description": "Architect server request handler for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -15,7 +15,7 @@ "typings": "dist/index.d.ts", "dependencies": { "@architect/functions": "^5.0.2", - "@remix-run/node": "1.8.2", + "@remix-run/node": "2.0.0-pre.0", "@types/aws-lambda": "^8.10.82" }, "devDependencies": { diff --git a/packages/remix-cloudflare-pages/CHANGELOG.md b/packages/remix-cloudflare-pages/CHANGELOG.md index ee2f3971e8c..ed146436007 100644 --- a/packages/remix-cloudflare-pages/CHANGELOG.md +++ b/packages/remix-cloudflare-pages/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/cloudflare-pages` +## 2.0.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/cloudflare@2.0.0-pre.0` + ## 1.8.2 ### Patch Changes diff --git a/packages/remix-cloudflare-pages/package.json b/packages/remix-cloudflare-pages/package.json index 2728abf553f..d8ed059ae06 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": "1.8.2", + "version": "2.0.0-pre.0", "description": "Cloudflare Pages request handler for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -15,7 +15,7 @@ "typings": "dist/index.d.ts", "module": "dist/esm/index.js", "dependencies": { - "@remix-run/cloudflare": "1.8.2" + "@remix-run/cloudflare": "2.0.0-pre.0" }, "devDependencies": { "@cloudflare/workers-types": "^3.4.0", diff --git a/packages/remix-cloudflare-workers/CHANGELOG.md b/packages/remix-cloudflare-workers/CHANGELOG.md index ba0027cc480..871b13caab0 100644 --- a/packages/remix-cloudflare-workers/CHANGELOG.md +++ b/packages/remix-cloudflare-workers/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/cloudflare-workers` +## 2.0.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/cloudflare@2.0.0-pre.0` + ## 1.8.2 ### Patch Changes diff --git a/packages/remix-cloudflare-workers/package.json b/packages/remix-cloudflare-workers/package.json index 0cc15444432..ca9f650c3d5 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": "1.8.2", + "version": "2.0.0-pre.0", "description": "Cloudflare worker request handler for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -16,7 +16,7 @@ "module": "dist/esm/index.js", "dependencies": { "@cloudflare/kv-asset-handler": "^0.1.3", - "@remix-run/cloudflare": "1.8.2" + "@remix-run/cloudflare": "2.0.0-pre.0" }, "devDependencies": { "@cloudflare/workers-types": "^3.4.0" diff --git a/packages/remix-cloudflare/CHANGELOG.md b/packages/remix-cloudflare/CHANGELOG.md index 2c547229d17..b2f3af36cd3 100644 --- a/packages/remix-cloudflare/CHANGELOG.md +++ b/packages/remix-cloudflare/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/cloudflare` +## 2.0.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/server-runtime@2.0.0-pre.0` + ## 1.8.2 ### Patch Changes diff --git a/packages/remix-cloudflare/package.json b/packages/remix-cloudflare/package.json index e1359f32b72..681d27ff154 100644 --- a/packages/remix-cloudflare/package.json +++ b/packages/remix-cloudflare/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/cloudflare", - "version": "1.8.2", + "version": "2.0.0-pre.0", "description": "Cloudflare platform abstractions for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -15,7 +15,7 @@ "typings": "dist/index.d.ts", "dependencies": { "@cloudflare/kv-asset-handler": "^0.1.3", - "@remix-run/server-runtime": "1.8.2" + "@remix-run/server-runtime": "2.0.0-pre.0" }, "devDependencies": { "@cloudflare/workers-types": "^3.4.0" diff --git a/packages/remix-deno/CHANGELOG.md b/packages/remix-deno/CHANGELOG.md index 6f6d630df94..ef6b4bbe277 100644 --- a/packages/remix-deno/CHANGELOG.md +++ b/packages/remix-deno/CHANGELOG.md @@ -1,5 +1,13 @@ # `@remix-run/deno` +## 2.0.0-pre.0 + +### Patch Changes + +- Fix types for request handler context ([#4715](https://github.com/remix-run/remix/pull/4715)) +- Updated dependencies: + - `@remix-run/server-runtime@2.0.0-pre.0` + ## 1.8.2 ### Patch Changes diff --git a/packages/remix-deno/package.json b/packages/remix-deno/package.json index 0ddb68ac802..2e55a9711d8 100644 --- a/packages/remix-deno/package.json +++ b/packages/remix-deno/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/deno", - "version": "1.8.2", + "version": "2.0.0-pre.0", "description": "Deno platform abstractions for Remix", "homepage": "https://remix.run", "main": "./index.ts", @@ -15,7 +15,7 @@ "license": "MIT", "sideEffects": false, "dependencies": { - "@remix-run/server-runtime": "1.8.2", + "@remix-run/server-runtime": "2.0.0-pre.0", "mime": "^3.0.0" }, "engines": { diff --git a/packages/remix-dev/CHANGELOG.md b/packages/remix-dev/CHANGELOG.md index 3201ba0c6cf..48b50ab96f6 100644 --- a/packages/remix-dev/CHANGELOG.md +++ b/packages/remix-dev/CHANGELOG.md @@ -1,5 +1,55 @@ # `@remix-run/dev` +## 2.0.0-pre.0 + +### Minor Changes + +- allow defining multiple routes for the same route module file ([#3970](https://github.com/remix-run/remix/pull/3970)) + +### Patch Changes + +- Support Typescript 4.9 features (like `satisfies`) in Remix `app/` code ([#4754](https://github.com/remix-run/remix/pull/4754)) + + esbuild 0.15.13 added support for parsing TS 4.9 `satisfies`, so upgrading to esbuild 0.16.3 adds that ability to the Remix compiler + +- Optimize `parentRouteId` lookup in `defineConventionalRoutes` ([#4800](https://github.com/remix-run/remix/pull/4800)) + + Local runs of production Remix builds: + + - Realistic project w/ 700 routes: 10-15s -> <1s (>10x faster) + - Example project w/ 1,111 routes: 27s -> 0.104s (259x faster) + +- Convention for Remix optional segments ([#4706](https://github.com/remix-run/remix/pull/4706)) + + Note that this only set ups the convention conversion for React Router. + Optional segments won't be available in Remix until Remix is built on top of React Router v6.5 + + Converts segments surrounded by parenthesis into optional segments for React Router. + For example `/($lang)/about` will be converted to `/:lang?/about` in React Router. + + This means `/($lang)/about` would match: + + ``` + /en/about + /fr/about + /about + ``` + + Another example: `/(one)/($two)/(three).($four)` route would match all of the following: + + ``` + / + /one + /one/param1 + /one/param1/three + /one/param1/three/param2 + ``` + +- fixes a bug in ts -> js conversion on windows by using a relative unix style path as fast-glob uses unix style paths ([#4718](https://github.com/remix-run/remix/pull/4718)) +- Updated dependencies: + - `@remix-run/server-runtime@2.0.0-pre.0` + - `@remix-run/serve@2.0.0-pre.0` + ## 1.8.2 ### Patch Changes diff --git a/packages/remix-dev/package.json b/packages/remix-dev/package.json index bcc79b7516c..0e48694c34c 100644 --- a/packages/remix-dev/package.json +++ b/packages/remix-dev/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/dev", - "version": "1.8.2", + "version": "2.0.0-pre.0", "description": "Dev tools and CLI for Remix", "homepage": "https://remix.run", "bugs": { @@ -26,7 +26,7 @@ "@babel/types": "^7.20.2", "@esbuild-plugins/node-modules-polyfill": "^0.1.4", "@npmcli/package-json": "^2.0.0", - "@remix-run/server-runtime": "1.8.2", + "@remix-run/server-runtime": "2.0.0-pre.0", "arg": "^5.0.1", "cacache": "^15.0.5", "chalk": "^4.1.2", @@ -63,7 +63,7 @@ "xdm": "^2.0.0" }, "devDependencies": { - "@remix-run/serve": "1.8.2", + "@remix-run/serve": "2.0.0-pre.0", "@types/cacache": "^15.0.0", "@types/gunzip-maybe": "^1.4.0", "@types/inquirer": "^8.2.0", @@ -82,7 +82,7 @@ "type-fest": "^2.16.0" }, "peerDependencies": { - "@remix-run/serve": "^1.8.2" + "@remix-run/serve": "^2.0.0-pre.0" }, "peerDependenciesMeta": { "@remix-run/serve": { diff --git a/packages/remix-eslint-config/CHANGELOG.md b/packages/remix-eslint-config/CHANGELOG.md index 9ea852782a3..128a28645f8 100644 --- a/packages/remix-eslint-config/CHANGELOG.md +++ b/packages/remix-eslint-config/CHANGELOG.md @@ -1,5 +1,7 @@ # `@remix-run/eslint-config` +## 2.0.0-pre.0 + ## 1.8.2 No significant changes to this package were made in this release. [See the releases page on GitHub](https://github.com/remix-run/remix/releases/tag/remix%401.8.2) for an overview of all changes in v1.8.2. diff --git a/packages/remix-eslint-config/package.json b/packages/remix-eslint-config/package.json index 96bea736152..d628c11433f 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": "1.8.2", + "version": "2.0.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 b3a75402403..432cd8a9ff5 100644 --- a/packages/remix-express/CHANGELOG.md +++ b/packages/remix-express/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/express` +## 2.0.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/node@2.0.0-pre.0` + ## 1.8.2 ### Patch Changes diff --git a/packages/remix-express/package.json b/packages/remix-express/package.json index 417c2751147..0893f720981 100644 --- a/packages/remix-express/package.json +++ b/packages/remix-express/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/express", - "version": "1.8.2", + "version": "2.0.0-pre.0", "description": "Express server request handler for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -14,7 +14,7 @@ "main": "dist/index.js", "typings": "dist/index.d.ts", "dependencies": { - "@remix-run/node": "1.8.2" + "@remix-run/node": "2.0.0-pre.0" }, "devDependencies": { "@types/express": "^4.17.9", diff --git a/packages/remix-netlify/CHANGELOG.md b/packages/remix-netlify/CHANGELOG.md index 34c71262859..d1b7c2b4e96 100644 --- a/packages/remix-netlify/CHANGELOG.md +++ b/packages/remix-netlify/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/netlify` +## 2.0.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/node@2.0.0-pre.0` + ## 1.8.2 ### Patch Changes diff --git a/packages/remix-netlify/package.json b/packages/remix-netlify/package.json index 60b919ef3bd..41675f21e5f 100644 --- a/packages/remix-netlify/package.json +++ b/packages/remix-netlify/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/netlify", - "version": "1.8.2", + "version": "2.0.0-pre.0", "description": "Netlify server request handler for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -14,7 +14,7 @@ "main": "dist/index.js", "typings": "dist/index.d.ts", "dependencies": { - "@remix-run/node": "1.8.2" + "@remix-run/node": "2.0.0-pre.0" }, "devDependencies": { "@netlify/functions": "^1.0.0" diff --git a/packages/remix-node/CHANGELOG.md b/packages/remix-node/CHANGELOG.md index ba4e2ef8a25..f78ffbf3386 100644 --- a/packages/remix-node/CHANGELOG.md +++ b/packages/remix-node/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/node` +## 2.0.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/server-runtime@2.0.0-pre.0` + ## 1.8.2 ### Patch Changes diff --git a/packages/remix-node/package.json b/packages/remix-node/package.json index 1c5251be93b..764bfa36d07 100644 --- a/packages/remix-node/package.json +++ b/packages/remix-node/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/node", - "version": "1.8.2", + "version": "2.0.0-pre.0", "description": "Node.js platform abstractions for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -15,7 +15,7 @@ "typings": "dist/index.d.ts", "sideEffects": false, "dependencies": { - "@remix-run/server-runtime": "1.8.2", + "@remix-run/server-runtime": "2.0.0-pre.0", "@remix-run/web-fetch": "^4.3.2", "@remix-run/web-file": "^3.0.2", "@remix-run/web-stream": "^1.0.3", diff --git a/packages/remix-react/CHANGELOG.md b/packages/remix-react/CHANGELOG.md index fe45a92aa6e..54f19b72605 100644 --- a/packages/remix-react/CHANGELOG.md +++ b/packages/remix-react/CHANGELOG.md @@ -1,5 +1,25 @@ # `@remix-run/react` +## 2.0.0-pre.0 + +### Patch Changes + +- Update `@remix-run/react` to use `Router` from `react-router-dom@6.4.4` ([#4731](https://github.com/remix-run/remix/pull/4731)) +- Allow pass-through props to be passed to the script rendered by `ScrollRestoration` ([#2879](https://github.com/remix-run/remix/pull/2879)) +- Bump RR deps ([#4868](https://github.com/remix-run/remix/pull/4868)) +- adds a new testing package to allow easier testing of components using Remix specific apis like useFetcher, useActionData, etc. ([#4539](https://github.com/remix-run/remix/pull/4539)) +- Fixed a problem with live reload and firefox infinitely reloading the page ([#4725](https://github.com/remix-run/remix/pull/4725)) + + The problem is: + + 1. Firefox is calling `ws.onclose` immediately upon connecting (?!) + 2. Then we’re trying to reconnect, and upon reconnection, we reload the page. + 3. Firefox then calls `ws.onclose` again after reconnecting and the loop starts over + + This fix is to check `event.code === 1006` before actually trying to reconnect and the reload the page. 1006 means the connection was closed abnormally (https://www.rfc-editor.org/rfc/rfc6455#section-7.4.1). In our case, that means the server was shut down in local dev and then the socket can reconnect again when the server is back up. + + It’s unclear to me why Firefox is calling `onclose` immediately upon connecting to the web socket, but it does. + ## 1.8.2 No significant changes to this package were made in this release. [See the releases page on GitHub](https://github.com/remix-run/remix/releases/tag/remix%401.8.2) for an overview of all changes in v1.8.2. diff --git a/packages/remix-react/package.json b/packages/remix-react/package.json index d1471e494e7..7a6b42bb297 100644 --- a/packages/remix-react/package.json +++ b/packages/remix-react/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/react", - "version": "1.8.2", + "version": "2.0.0-pre.0", "description": "React DOM bindings for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -20,7 +20,7 @@ "react-router-dom": "6.5.0-pre.1" }, "devDependencies": { - "@remix-run/server-runtime": "1.8.2", + "@remix-run/server-runtime": "2.0.0-pre.0", "@testing-library/jest-dom": "^5.16.2", "@testing-library/react": "^13.3.0", "abort-controller": "^3.0.0", diff --git a/packages/remix-serve/CHANGELOG.md b/packages/remix-serve/CHANGELOG.md index f810f0ffa06..34e059fc84a 100644 --- a/packages/remix-serve/CHANGELOG.md +++ b/packages/remix-serve/CHANGELOG.md @@ -1,5 +1,36 @@ # `@remix-run/serve` +## 2.0.0-pre.0 + +### Patch Changes + +- Fix `TypedResponse` so that Typescript correctly shows errors for incompatible types in loaders and actions. ([#4734](https://github.com/remix-run/remix/pull/4734)) + + Previously, when the return type of a loader or action was explicitly set to `TypedResponse`, + Typescript would not show errors when the loader or action returned an incompatible type. + + For example: + + ```ts + export const action = async ( + args: ActionArgs + ): Promise> => { + return json(42); + }; + ``` + + In this case, Typescript would not show an error even though `42` is clearly not a `string`. + + This happens because `json` returns a `TypedResponse`, + but because `TypedReponse` was previously just `Response & { json: () => Promise }` + and `Response` already defines `{ json: () => Promise }`, type erasure caused `Promise` to be used for `42`. + + To fix this, we explicitly omit the `Response`'s `json` property before intersecting with `{ json: () => Promise }`. + +- adds a new testing package to allow easier testing of components using Remix specific apis like useFetcher, useActionData, etc. ([#4539](https://github.com/remix-run/remix/pull/4539)) +- Updated dependencies: + - `@remix-run/express@2.0.0-pre.0` + ## 1.8.2 ### Patch Changes diff --git a/packages/remix-serve/package.json b/packages/remix-serve/package.json index 8b03708da86..cdf23fce09e 100644 --- a/packages/remix-serve/package.json +++ b/packages/remix-serve/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/serve", - "version": "1.8.2", + "version": "2.0.0-pre.0", "description": "Production application server for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -17,7 +17,7 @@ "remix-serve": "dist/cli.js" }, "dependencies": { - "@remix-run/express": "1.8.2", + "@remix-run/express": "2.0.0-pre.0", "compression": "^1.7.4", "express": "^4.17.1", "morgan": "^1.10.0" diff --git a/packages/remix-server-runtime/CHANGELOG.md b/packages/remix-server-runtime/CHANGELOG.md index 8af889f198e..780d3b6d817 100644 --- a/packages/remix-server-runtime/CHANGELOG.md +++ b/packages/remix-server-runtime/CHANGELOG.md @@ -1,5 +1,38 @@ # `@remix-run/server-runtime` +## 2.0.0-pre.0 + +### Patch Changes + +- Bump RR deps ([#4868](https://github.com/remix-run/remix/pull/4868)) +- Fix `TypedResponse` so that Typescript correctly shows errors for incompatible types in loaders and actions. ([#4734](https://github.com/remix-run/remix/pull/4734)) + + Previously, when the return type of a loader or action was explicitly set to `TypedResponse`, + Typescript would not show errors when the loader or action returned an incompatible type. + + For example: + + ```ts + export const action = async ( + args: ActionArgs + ): Promise> => { + return json(42); + }; + ``` + + In this case, Typescript would not show an error even though `42` is clearly not a `string`. + + This happens because `json` returns a `TypedResponse`, + but because `TypedReponse` was previously just `Response & { json: () => Promise }` + and `Response` already defines `{ json: () => Promise }`, type erasure caused `Promise` to be used for `42`. + + To fix this, we explicitly omit the `Response`'s `json` property before intersecting with `{ json: () => Promise }`. + +- - Ensure `loader` `request`'s proxy headers on document `action` submissions ([#4829](https://github.com/remix-run/remix/pull/4829)) + - Fix an issue where loader `request`'s reflected `method: "POST"` on document submissions +- adds a new testing package to allow easier testing of components using Remix specific apis like useFetcher, useActionData, etc. ([#4539](https://github.com/remix-run/remix/pull/4539)) +- Fix error boundary tracking for multiple errors bubbling to the same boundary ([#4829](https://github.com/remix-run/remix/pull/4829)) + ## 1.8.2 ### Patch Changes diff --git a/packages/remix-server-runtime/package.json b/packages/remix-server-runtime/package.json index cec62f2aaf8..ceb15895e42 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": "1.8.2", + "version": "2.0.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 new file mode 100644 index 00000000000..af240b4c865 --- /dev/null +++ b/packages/remix-testing/CHANGELOG.md @@ -0,0 +1,11 @@ +# @remix-run/testing + +## 2.0.0-pre.0 + +### Patch Changes + +- adds a new testing package to allow easier testing of components using Remix specific apis like useFetcher, useActionData, etc. ([#4539](https://github.com/remix-run/remix/pull/4539)) +- Updated dependencies: + - `@remix-run/react@2.0.0-pre.0` + - `@remix-run/server-runtime@2.0.0-pre.0` + - `@remix-run/node@2.0.0-pre.0` diff --git a/packages/remix-testing/package.json b/packages/remix-testing/package.json index c926c577d17..8bab8bd7636 100644 --- a/packages/remix-testing/package.json +++ b/packages/remix-testing/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/testing", - "version": "1.8.2", + "version": "2.0.0-pre.0", "description": "Testing utilities for Remix apps", "homepage": "https://remix.run", "bugs": { @@ -16,10 +16,10 @@ "typings": "./dist/index.d.ts", "module": "./dist/esm/index.js", "dependencies": { - "@remix-run/node": "1.8.2", - "@remix-run/react": "1.8.2", + "@remix-run/node": "2.0.0-pre.0", + "@remix-run/react": "2.0.0-pre.0", "@remix-run/router": "1.0.5", - "@remix-run/server-runtime": "1.8.2", + "@remix-run/server-runtime": "2.0.0-pre.0", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/packages/remix-vercel/CHANGELOG.md b/packages/remix-vercel/CHANGELOG.md index 59e61a83dd5..712a301b634 100644 --- a/packages/remix-vercel/CHANGELOG.md +++ b/packages/remix-vercel/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/vercel` +## 2.0.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/node@2.0.0-pre.0` + ## 1.8.2 ### Patch Changes diff --git a/packages/remix-vercel/package.json b/packages/remix-vercel/package.json index cba5f008ad0..ecbd671e201 100644 --- a/packages/remix-vercel/package.json +++ b/packages/remix-vercel/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/vercel", - "version": "1.8.2", + "version": "2.0.0-pre.0", "description": "Vercel server request handler for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -14,7 +14,7 @@ "main": "dist/index.js", "typings": "dist/index.d.ts", "dependencies": { - "@remix-run/node": "1.8.2" + "@remix-run/node": "2.0.0-pre.0" }, "devDependencies": { "@types/supertest": "^2.0.10", diff --git a/packages/remix/CHANGELOG.md b/packages/remix/CHANGELOG.md index 8ec9b176ee2..00c5e022672 100644 --- a/packages/remix/CHANGELOG.md +++ b/packages/remix/CHANGELOG.md @@ -1,3 +1,44 @@ # `remix` +## 2.0.0-pre.0 + +### Patch Changes + +- Support Typescript 4.9 features (like `satisfies`) in Remix `app/` code ([#4754](https://github.com/remix-run/remix/pull/4754)) + + esbuild 0.15.13 added support for parsing TS 4.9 `satisfies`, so upgrading to esbuild 0.16.3 adds that ability to the Remix compiler + +- Fix `TypedResponse` so that Typescript correctly shows errors for incompatible types in loaders and actions. ([#4734](https://github.com/remix-run/remix/pull/4734)) + + Previously, when the return type of a loader or action was explicitly set to `TypedResponse`, + Typescript would not show errors when the loader or action returned an incompatible type. + + For example: + + ```ts + export const action = async ( + args: ActionArgs + ): Promise> => { + return json(42); + }; + ``` + + In this case, Typescript would not show an error even though `42` is clearly not a `string`. + + This happens because `json` returns a `TypedResponse`, + but because `TypedReponse` was previously just `Response & { json: () => Promise }` + and `Response` already defines `{ json: () => Promise }`, type erasure caused `Promise` to be used for `42`. + + To fix this, we explicitly omit the `Response`'s `json` property before intersecting with `{ json: () => Promise }`. + +- Optimize `parentRouteId` lookup in `defineConventionalRoutes` ([#4800](https://github.com/remix-run/remix/pull/4800)) + + Local runs of production Remix builds: + + - Realistic project w/ 700 routes: 10-15s -> <1s (>10x faster) + - Example project w/ 1,111 routes: 27s -> 0.104s (259x faster) + +- adds a new testing package to allow easier testing of components using Remix specific apis like useFetcher, useActionData, etc. ([#4539](https://github.com/remix-run/remix/pull/4539)) +- fixes a bug in ts -> js conversion on windows by using a relative unix style path as fast-glob uses unix style paths ([#4718](https://github.com/remix-run/remix/pull/4718)) + See the `CHANGELOG.md` in individual Remix packages for all changes. diff --git a/packages/remix/package.json b/packages/remix/package.json index d6f6ef795b1..7551783d22d 100644 --- a/packages/remix/package.json +++ b/packages/remix/package.json @@ -1,6 +1,6 @@ { "name": "remix", - "version": "1.8.2", + "version": "2.0.0-pre.0", "description": "A framework for building better websites", "homepage": "https://remix.run", "bugs": {