remix 1.9.0-pre.0 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +0 -41
- package/dist/esm/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,44 +1,3 @@
|
|
|
1
1
|
# `remix`
|
|
2
2
|
|
|
3
|
-
## 1.9.0-pre.0
|
|
4
|
-
|
|
5
|
-
### Patch Changes
|
|
6
|
-
|
|
7
|
-
- Support Typescript 4.9 features (like `satisfies`) in Remix `app/` code ([#4754](https://github.com/remix-run/remix/pull/4754))
|
|
8
|
-
|
|
9
|
-
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
|
|
10
|
-
|
|
11
|
-
- Fix `TypedResponse` so that Typescript correctly shows errors for incompatible types in loaders and actions. ([#4734](https://github.com/remix-run/remix/pull/4734))
|
|
12
|
-
|
|
13
|
-
Previously, when the return type of a loader or action was explicitly set to `TypedResponse<SomeType>`,
|
|
14
|
-
Typescript would not show errors when the loader or action returned an incompatible type.
|
|
15
|
-
|
|
16
|
-
For example:
|
|
17
|
-
|
|
18
|
-
```ts
|
|
19
|
-
export const action = async (
|
|
20
|
-
args: ActionArgs
|
|
21
|
-
): Promise<TypedResponse<string>> => {
|
|
22
|
-
return json(42);
|
|
23
|
-
};
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
In this case, Typescript would not show an error even though `42` is clearly not a `string`.
|
|
27
|
-
|
|
28
|
-
This happens because `json` returns a `TypedResponse<string>`,
|
|
29
|
-
but because `TypedReponse<string>` was previously just `Response & { json: () => Promise<string> }`
|
|
30
|
-
and `Response` already defines `{ json: () => Promise<any> }`, type erasure caused `Promise<any>` to be used for `42`.
|
|
31
|
-
|
|
32
|
-
To fix this, we explicitly omit the `Response`'s `json` property before intersecting with `{ json: () => Promise<T> }`.
|
|
33
|
-
|
|
34
|
-
- Optimize `parentRouteId` lookup in `defineConventionalRoutes` ([#4800](https://github.com/remix-run/remix/pull/4800))
|
|
35
|
-
|
|
36
|
-
Local runs of production Remix builds:
|
|
37
|
-
|
|
38
|
-
- Realistic project w/ 700 routes: 10-15s -> <1s (>10x faster)
|
|
39
|
-
- Example project w/ 1,111 routes: 27s -> 0.104s (259x faster)
|
|
40
|
-
|
|
41
|
-
- 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))
|
|
42
|
-
- 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))
|
|
43
|
-
|
|
44
3
|
See the `CHANGELOG.md` in individual Remix packages for all changes.
|
package/dist/esm/index.js
CHANGED
package/dist/index.js
CHANGED