react-router 7.0.0-pre.6 → 7.0.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 +72 -194
- package/dist/development/{chunk-CQOJUIYR.mjs → chunk-U6WQEHBI.mjs} +2 -2
- package/dist/development/dom-export.js +1 -1
- package/dist/development/dom-export.mjs +2 -2
- package/dist/development/index.js +2 -2
- package/dist/development/index.mjs +2 -2
- package/dist/development/lib/types/route-module.js +1 -1
- package/dist/development/lib/types/route-module.mjs +1 -1
- package/dist/production/{chunk-X537FOHI.mjs → chunk-L6MGG5FJ.mjs} +2 -2
- package/dist/production/dom-export.js +1 -1
- package/dist/production/dom-export.mjs +2 -2
- package/dist/production/index.js +2 -2
- package/dist/production/index.mjs +2 -2
- package/dist/production/lib/types/route-module.js +1 -1
- package/dist/production/lib/types/route-module.mjs +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,69 +1,6 @@
|
|
|
1
1
|
# `react-router`
|
|
2
2
|
|
|
3
|
-
## 7.0.0
|
|
4
|
-
|
|
5
|
-
### Patch Changes
|
|
6
|
-
|
|
7
|
-
- chore: re-enable development warnings through a `development` exports condition. ([#12269](https://github.com/remix-run/react-router/pull/12269))
|
|
8
|
-
- Remove unneeded dependency on @web3-storage/multipart-parser ([#12274](https://github.com/remix-run/react-router/pull/12274))
|
|
9
|
-
- fix(react-router): (v7) fix static prerender of non-ascii characters ([#12161](https://github.com/remix-run/react-router/pull/12161))
|
|
10
|
-
- Remove unneeded dependency on source-map ([#12275](https://github.com/remix-run/react-router/pull/12275))
|
|
11
|
-
|
|
12
|
-
## 7.0.0-pre.5
|
|
13
|
-
|
|
14
|
-
## 7.0.0-pre.4
|
|
15
|
-
|
|
16
|
-
## 7.0.0-pre.3
|
|
17
|
-
|
|
18
|
-
## 7.0.0-pre.2
|
|
19
|
-
|
|
20
|
-
### Major Changes
|
|
21
|
-
|
|
22
|
-
- Migrate Remix type generics to React Router ([#12180](https://github.com/remix-run/react-router/pull/12180))
|
|
23
|
-
|
|
24
|
-
- These generics are provided for Remix v2 migration purposes
|
|
25
|
-
- These generics and the APIs they exist on should be considered informally deprecated in favor of the new `Route.*` types
|
|
26
|
-
- Anyone migrating from React Router v6 should probably not leverage these new generics and should migrate straight to the `Route.*` types
|
|
27
|
-
- For React Router v6 users, these generics are new and should not impact your app, with one exception
|
|
28
|
-
- `useFetcher` previously had an optional generic (used primarily by Remix v2) that expected the data type
|
|
29
|
-
- This has been updated in v7 to expect the type of the function that generates the data (i.e., `typeof loader`/`typeof action`)
|
|
30
|
-
- Therefore, you should update your usages:
|
|
31
|
-
- ❌ `useFetcher<LoaderData>()`
|
|
32
|
-
- ✅ `useFetcher<typeof loader>()`
|
|
33
|
-
|
|
34
|
-
- - Consolidate types previously duplicated across `@remix-run/router`, `@remix-run/server-runtime`, and `@remix-run/react` now that they all live in `react-router` ([#12177](https://github.com/remix-run/react-router/pull/12177))
|
|
35
|
-
- Examples: `LoaderFunction`, `LoaderFunctionArgs`, `ActionFunction`, `ActionFunctionArgs`, `DataFunctionArgs`, `RouteManifest`, `LinksFunction`, `Route`, `EntryRoute`
|
|
36
|
-
- The `RouteManifest` type used by the "remix" code is now slightly stricter because it is using the former `@remix-run/router` `RouteManifest`
|
|
37
|
-
- `Record<string, Route> -> Record<string, Route | undefined>`
|
|
38
|
-
- Removed `AppData` type in favor of inlining `unknown` in the few locations it was used
|
|
39
|
-
- Removed `ServerRuntimeMeta*` types in favor of the `Meta*` types they were duplicated from
|
|
40
|
-
- Drop support for Node 18, update minimum Node vestion to 20 ([#12171](https://github.com/remix-run/react-router/pull/12171))
|
|
41
|
-
|
|
42
|
-
- Remove `installGlobals()` as this should no longer be necessary
|
|
43
|
-
|
|
44
|
-
- Update `cookie` dependency to `^1.0.1` - please see the [release notes](https://github.com/jshttp/cookie/releases) for any breaking changes ([#12172](https://github.com/remix-run/react-router/pull/12172))
|
|
45
|
-
|
|
46
|
-
### Patch Changes
|
|
47
|
-
|
|
48
|
-
- Replace `substr` with `substring` ([#12080](https://github.com/remix-run/react-router/pull/12080))
|
|
49
|
-
- Remove the deprecated `json` utility ([#12146](https://github.com/remix-run/react-router/pull/12146))
|
|
50
|
-
|
|
51
|
-
- You can use [`Response.json`](https://developer.mozilla.org/en-US/docs/Web/API/Response/json_static) if you still need to construct JSON responses in your app
|
|
52
|
-
|
|
53
|
-
- Updated dependencies:
|
|
54
|
-
- `react-router@7.0.0-pre.2`
|
|
55
|
-
|
|
56
|
-
## 7.0.0-pre.1
|
|
57
|
-
|
|
58
|
-
### Patch Changes
|
|
59
|
-
|
|
60
|
-
- Fix typegen for routes with a client loader but no server loader ([#12117](https://github.com/remix-run/react-router/pull/12117))
|
|
61
|
-
- - Fix `react-router-serve` handling of prerendered HTML files by removing the `redirect: false` option so it now falls back on the default `redirect: true` behavior of redirecting from `/folder` -> `/folder/` which will then pick up `/folder/index.html` from disk. See https://expressjs.com/en/resources/middleware/serve-static.html ([#12071](https://github.com/remix-run/react-router/pull/12071))
|
|
62
|
-
- Proxy prerendered loader data into prerender pass for HTML files to avoid double-invocations of the loader at build time
|
|
63
|
-
- Updated dependencies:
|
|
64
|
-
- `react-router@7.0.0-pre.1`
|
|
65
|
-
|
|
66
|
-
## 7.0.0-pre.0
|
|
3
|
+
## 7.0.0
|
|
67
4
|
|
|
68
5
|
### Major Changes
|
|
69
6
|
|
|
@@ -79,16 +16,22 @@
|
|
|
79
16
|
- Collapse `react-router-dom` into `react-router`
|
|
80
17
|
- Collapse `@remix-run/server-runtime` into `react-router`
|
|
81
18
|
- Collapse `@remix-run/testing` into `react-router`
|
|
19
|
+
|
|
82
20
|
- Remove single_fetch future flag. ([#11522](https://github.com/remix-run/react-router/pull/11522))
|
|
21
|
+
|
|
83
22
|
- Drop support for Node 16, React Router SSR now requires Node 18 or higher ([#11391](https://github.com/remix-run/react-router/pull/11391))
|
|
23
|
+
|
|
84
24
|
- Remove `future.v7_startTransition` flag ([#11696](https://github.com/remix-run/react-router/pull/11696))
|
|
25
|
+
|
|
85
26
|
- - Expose the underlying router promises from the following APIs for compsition in React 19 APIs: ([#11521](https://github.com/remix-run/react-router/pull/11521))
|
|
86
27
|
- `useNavigate()`
|
|
87
28
|
- `useSubmit`
|
|
88
29
|
- `useFetcher().load`
|
|
89
30
|
- `useFetcher().submit`
|
|
90
31
|
- `useRevalidator.revalidate`
|
|
32
|
+
|
|
91
33
|
- Remove `future.v7_normalizeFormMethod` future flag ([#11697](https://github.com/remix-run/react-router/pull/11697))
|
|
34
|
+
|
|
92
35
|
- For Remix consumers migrating to React Router, the `crypto` global from the [Web Crypto API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API) is now required when using cookie and session APIs. This means that the following APIs are provided from `react-router` rather than platform-specific packages: ([#11837](https://github.com/remix-run/react-router/pull/11837))
|
|
93
36
|
|
|
94
37
|
- `createCookie`
|
|
@@ -139,27 +82,62 @@
|
|
|
139
82
|
- `Search`
|
|
140
83
|
|
|
141
84
|
- update minimum node version to 18 ([#11690](https://github.com/remix-run/react-router/pull/11690))
|
|
85
|
+
|
|
142
86
|
- Remove `future.v7_prependBasename` from the ionternalized `@remix-run/router` package ([#11726](https://github.com/remix-run/react-router/pull/11726))
|
|
87
|
+
|
|
88
|
+
- Migrate Remix type generics to React Router ([#12180](https://github.com/remix-run/react-router/pull/12180))
|
|
89
|
+
|
|
90
|
+
- These generics are provided for Remix v2 migration purposes
|
|
91
|
+
- These generics and the APIs they exist on should be considered informally deprecated in favor of the new `Route.*` types
|
|
92
|
+
- Anyone migrating from React Router v6 should probably not leverage these new generics and should migrate straight to the `Route.*` types
|
|
93
|
+
- For React Router v6 users, these generics are new and should not impact your app, with one exception
|
|
94
|
+
- `useFetcher` previously had an optional generic (used primarily by Remix v2) that expected the data type
|
|
95
|
+
- This has been updated in v7 to expect the type of the function that generates the data (i.e., `typeof loader`/`typeof action`)
|
|
96
|
+
- Therefore, you should update your usages:
|
|
97
|
+
- ❌ `useFetcher<LoaderData>()`
|
|
98
|
+
- ✅ `useFetcher<typeof loader>()`
|
|
99
|
+
|
|
143
100
|
- Remove `future.v7_throwAbortReason` from internalized `@remix-run/router` package ([#11728](https://github.com/remix-run/react-router/pull/11728))
|
|
101
|
+
|
|
144
102
|
- Add `exports` field to all packages ([#11675](https://github.com/remix-run/react-router/pull/11675))
|
|
103
|
+
|
|
145
104
|
- node package no longer re-exports from react-router ([#11702](https://github.com/remix-run/react-router/pull/11702))
|
|
105
|
+
|
|
146
106
|
- renamed RemixContext to FrameworkContext ([#11705](https://github.com/remix-run/react-router/pull/11705))
|
|
107
|
+
|
|
147
108
|
- updates the minimum React version to 18 ([#11689](https://github.com/remix-run/react-router/pull/11689))
|
|
109
|
+
|
|
148
110
|
- PrefetchPageDescriptor replaced by PageLinkDescriptor ([#11960](https://github.com/remix-run/react-router/pull/11960))
|
|
111
|
+
|
|
112
|
+
- - Consolidate types previously duplicated across `@remix-run/router`, `@remix-run/server-runtime`, and `@remix-run/react` now that they all live in `react-router` ([#12177](https://github.com/remix-run/react-router/pull/12177))
|
|
113
|
+
- Examples: `LoaderFunction`, `LoaderFunctionArgs`, `ActionFunction`, `ActionFunctionArgs`, `DataFunctionArgs`, `RouteManifest`, `LinksFunction`, `Route`, `EntryRoute`
|
|
114
|
+
- The `RouteManifest` type used by the "remix" code is now slightly stricter because it is using the former `@remix-run/router` `RouteManifest`
|
|
115
|
+
- `Record<string, Route> -> Record<string, Route | undefined>`
|
|
116
|
+
- Removed `AppData` type in favor of inlining `unknown` in the few locations it was used
|
|
117
|
+
- Removed `ServerRuntimeMeta*` types in favor of the `Meta*` types they were duplicated from
|
|
118
|
+
|
|
149
119
|
- - Remove the `future.v7_partialHydration` flag ([#11725](https://github.com/remix-run/react-router/pull/11725))
|
|
150
120
|
- This also removes the `<RouterProvider fallbackElement>` prop
|
|
151
121
|
- To migrate, move the `fallbackElement` to a `hydrateFallbackElement`/`HydrateFallback` on your root route
|
|
152
122
|
- Also worth nothing there is a related breaking changer with this future flag:
|
|
153
123
|
- Without `future.v7_partialHydration` (when using `fallbackElement`), `state.navigation` was populated during the initial load
|
|
154
124
|
- With `future.v7_partialHydration`, `state.navigation` remains in an `"idle"` state during the initial load
|
|
125
|
+
|
|
155
126
|
- Remove `v7_relativeSplatPath` future flag ([#11695](https://github.com/remix-run/react-router/pull/11695))
|
|
127
|
+
|
|
128
|
+
- Drop support for Node 18, update minimum Node vestion to 20 ([#12171](https://github.com/remix-run/react-router/pull/12171))
|
|
129
|
+
|
|
130
|
+
- Remove `installGlobals()` as this should no longer be necessary
|
|
131
|
+
|
|
156
132
|
- Remove remaining future flags ([#11820](https://github.com/remix-run/react-router/pull/11820))
|
|
157
133
|
|
|
158
134
|
- React Router `v7_skipActionErrorRevalidation`
|
|
159
135
|
- Remix `v3_fetcherPersist`, `v3_relativeSplatPath`, `v3_throwAbortReason`
|
|
160
136
|
|
|
161
137
|
- rename createRemixStub to createRoutesStub ([#11692](https://github.com/remix-run/react-router/pull/11692))
|
|
138
|
+
|
|
162
139
|
- Remove `@remix-run/router` deprecated `detectErrorBoundary` option in favor of `mapRouteProperties` ([#11751](https://github.com/remix-run/react-router/pull/11751))
|
|
140
|
+
|
|
163
141
|
- Add `react-router/dom` subpath export to properly enable `react-dom` as an optional `peerDependency` ([#11851](https://github.com/remix-run/react-router/pull/11851))
|
|
164
142
|
|
|
165
143
|
- This ensures that we don't blindly `import ReactDOM from "react-dom"` in `<RouterProvider>` in order to access `ReactDOM.flushSync()`, since that would break `createMemoryRouter` use cases in non-DOM environments
|
|
@@ -171,6 +149,8 @@
|
|
|
171
149
|
|
|
172
150
|
- Remove `future.v7_fetcherPersist` flag ([#11731](https://github.com/remix-run/react-router/pull/11731))
|
|
173
151
|
|
|
152
|
+
- Update `cookie` dependency to `^1.0.1` - please see the [release notes](https://github.com/jshttp/cookie/releases) for any breaking changes ([#12172](https://github.com/remix-run/react-router/pull/12172))
|
|
153
|
+
|
|
174
154
|
### Minor Changes
|
|
175
155
|
|
|
176
156
|
- - Add support for `prerender` config in the React Router vite plugin, to support existing SSG use-cases ([#11539](https://github.com/remix-run/react-router/pull/11539))
|
|
@@ -178,19 +158,17 @@
|
|
|
178
158
|
- `prerender` can either be an array of string paths, or a function (sync or async) that returns an array of strings so that you can dynamically generate the paths by talking to your CMS, etc.
|
|
179
159
|
|
|
180
160
|
```ts
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
],
|
|
193
|
-
});
|
|
161
|
+
// react-router.config.ts
|
|
162
|
+
import type { Config } from "@react-router/dev/config";
|
|
163
|
+
|
|
164
|
+
export default {
|
|
165
|
+
async prerender() {
|
|
166
|
+
let slugs = await fakeGetSlugsFromCms();
|
|
167
|
+
// Prerender these paths into `.html` files at build time, and `.data`
|
|
168
|
+
// files if they have loaders
|
|
169
|
+
return ["/", "/about", ...slugs.map((slug) => `/product/${slug}`)];
|
|
170
|
+
},
|
|
171
|
+
} satisfies Config;
|
|
194
172
|
|
|
195
173
|
async function fakeGetSlugsFromCms() {
|
|
196
174
|
await new Promise((r) => setTimeout(r, 1000));
|
|
@@ -198,10 +176,6 @@
|
|
|
198
176
|
}
|
|
199
177
|
```
|
|
200
178
|
|
|
201
|
-
- [REMOVE] Allow returning undefined from loaders/actions part 2 ([#12057](https://github.com/remix-run/react-router/pull/12057))
|
|
202
|
-
|
|
203
|
-
- This is a follow up to #11680 which missed some of the Remix codepaths
|
|
204
|
-
|
|
205
179
|
- Params, loader data, and action data as props for route component exports ([#11961](https://github.com/remix-run/react-router/pull/11961))
|
|
206
180
|
|
|
207
181
|
```tsx
|
|
@@ -212,6 +186,7 @@
|
|
|
212
186
|
```
|
|
213
187
|
|
|
214
188
|
- Remove duplicate `RouterProvider` impliementations ([#11679](https://github.com/remix-run/react-router/pull/11679))
|
|
189
|
+
|
|
215
190
|
- ### Typesafety improvements ([#12019](https://github.com/remix-run/react-router/pull/12019))
|
|
216
191
|
|
|
217
192
|
React Router now generates types for each of your route modules.
|
|
@@ -233,16 +208,6 @@
|
|
|
233
208
|
- `LoaderData` : Loader data from `loader` and/or `clientLoader` within your route module
|
|
234
209
|
- `ActionData` : Action data from `action` and/or `clientAction` within your route module
|
|
235
210
|
|
|
236
|
-
These types are then used to create types for route export args and props:
|
|
237
|
-
|
|
238
|
-
- `LoaderArgs`
|
|
239
|
-
- `ClientLoaderArgs`
|
|
240
|
-
- `ActionArgs`
|
|
241
|
-
- `ClientActionArgs`
|
|
242
|
-
- `HydrateFallbackProps`
|
|
243
|
-
- `ComponentProps` (for the `default` export)
|
|
244
|
-
- `ErrorBoundaryProps`
|
|
245
|
-
|
|
246
211
|
In the future, we plan to add types for the rest of the route module exports: `meta`, `links`, `headers`, `shouldRevalidate`, etc.
|
|
247
212
|
We also plan to generate types for typesafe `Link`s:
|
|
248
213
|
|
|
@@ -252,123 +217,36 @@
|
|
|
252
217
|
// typesafe `to` and `params` based on the available routes in your app
|
|
253
218
|
```
|
|
254
219
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
React Router will generate types into a `.react-router/` directory at the root of your app.
|
|
258
|
-
This directory is fully managed by React Router and is derived based on your route config (`routes.ts`).
|
|
259
|
-
|
|
260
|
-
👉 **Add `.react-router/` to `.gitignore`**
|
|
261
|
-
|
|
262
|
-
```txt
|
|
263
|
-
.react-router
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
You should also ensure that generated types for routes are always present before running typechecking,
|
|
267
|
-
especially for running typechecking in CI.
|
|
268
|
-
|
|
269
|
-
👉 **Add `react-router typegen` to your `typecheck` command in `package.json`**
|
|
270
|
-
|
|
271
|
-
```json
|
|
272
|
-
{
|
|
273
|
-
"scripts": {
|
|
274
|
-
"typecheck": "react-router typegen && tsc"
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
To get TypeScript to use those generated types, you'll need to add them to `include` in `tsconfig.json`.
|
|
280
|
-
And to be able to import them as if they files next to your route modules, you'll also need to configure `rootDirs`.
|
|
220
|
+
Check out our docs for more:
|
|
281
221
|
|
|
282
|
-
|
|
222
|
+
- [_Explanations > Type Safety_](https://reactrouter.com/dev/guides/explanation/type-safety)
|
|
223
|
+
- [_How-To > Setting up type safety_](https://reactrouter.com/dev/guides/how-to/setting-up-type-safety)
|
|
283
224
|
|
|
284
|
-
|
|
285
|
-
{
|
|
286
|
-
"include": [".react-router/types/**/*"],
|
|
287
|
-
"compilerOptions": {
|
|
288
|
-
"rootDirs": [".", "./.react-router/types"]
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
#### `typegen` command
|
|
294
|
-
|
|
295
|
-
You can manually generate types with the new `typegen` command:
|
|
296
|
-
|
|
297
|
-
```sh
|
|
298
|
-
react-router typegen
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
However, manual type generation is tedious and types can get out of sync quickly if you ever forget to run `typegen`.
|
|
302
|
-
Instead, we recommend that you setup our new TypeScript plugin which will automatically generate fresh types whenever routes change.
|
|
303
|
-
That way, you'll always have up-to-date types.
|
|
304
|
-
|
|
305
|
-
#### TypeScript plugin
|
|
306
|
-
|
|
307
|
-
To get automatic type generation, you can use our new TypeScript plugin.
|
|
308
|
-
|
|
309
|
-
👉 **Add the TypeScript plugin to `tsconfig.json`**
|
|
310
|
-
|
|
311
|
-
```json
|
|
312
|
-
{
|
|
313
|
-
"compilerOptions": {
|
|
314
|
-
"plugins": [{ "name": "@react-router/dev" }]
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
We plan to add some other goodies to our TypeScript plugin soon, including:
|
|
320
|
-
|
|
321
|
-
- Automatic `jsdoc` for route exports that include links to official docs
|
|
322
|
-
- Autocomplete for route exports
|
|
323
|
-
- Warnings for non-HMR compliant exports
|
|
324
|
-
|
|
325
|
-
##### VSCode
|
|
326
|
-
|
|
327
|
-
TypeScript looks for plugins registered in `tsconfig.json` in the local `node_modules/`,
|
|
328
|
-
but VSCode ships with its own copy of TypeScript that is installed outside of your project.
|
|
329
|
-
For TypeScript plugins to work, you'll need to tell VSCode to use the local workspace version of TypeScript.
|
|
330
|
-
For security reasons, [VSCode won't use the workspace version of TypeScript](https://code.visualstudio.com/docs/typescript/typescript-compiling#_using-the-workspace-version-of-typescript) until you manually opt-in.
|
|
225
|
+
- Stabilize `unstable_dataStrategy` ([#11969](https://github.com/remix-run/react-router/pull/11969))
|
|
331
226
|
|
|
332
|
-
|
|
227
|
+
- Stabilize `unstable_patchRoutesOnNavigation` ([#11970](https://github.com/remix-run/react-router/pull/11970))
|
|
333
228
|
|
|
334
|
-
|
|
335
|
-
{
|
|
336
|
-
"typescript.tsdk": "node_modules/typescript/lib",
|
|
337
|
-
"typescript.enablePromptUseWorkspaceTsdk": true
|
|
338
|
-
}
|
|
339
|
-
```
|
|
229
|
+
### Patch Changes
|
|
340
230
|
|
|
341
|
-
|
|
231
|
+
- No changes ([`506329c4e`](https://github.com/remix-run/react-router/commit/506329c4e2e7aba9837cbfa44df6103b49423745))
|
|
342
232
|
|
|
343
|
-
|
|
344
|
-
> You'll need to install dependencies first so that the workspace version of TypeScript is available.
|
|
233
|
+
- chore: re-enable development warnings through a `development` exports condition. ([#12269](https://github.com/remix-run/react-router/pull/12269))
|
|
345
234
|
|
|
346
|
-
|
|
235
|
+
- Remove unstable upload handler. ([#12015](https://github.com/remix-run/react-router/pull/12015))
|
|
347
236
|
|
|
348
|
-
|
|
237
|
+
- Remove unneeded dependency on @web3-storage/multipart-parser ([#12274](https://github.com/remix-run/react-router/pull/12274))
|
|
349
238
|
|
|
350
|
-
|
|
351
|
-
2. Open up the VSCode Command Palette (<kbd>Cmd</kbd>+<kbd>Shift</kbd>+<kbd>P</kbd>)
|
|
352
|
-
3. Search for `Select TypeScript Version`
|
|
353
|
-
4. Choose `Use Workspace Version`
|
|
354
|
-
5. Quit and reopen VSCode
|
|
239
|
+
- Fix redirects returned from loaders/actions using `data()` ([#12021](https://github.com/remix-run/react-router/pull/12021))
|
|
355
240
|
|
|
356
|
-
|
|
241
|
+
- fix(react-router): (v7) fix static prerender of non-ascii characters ([#12161](https://github.com/remix-run/react-router/pull/12161))
|
|
357
242
|
|
|
358
|
-
|
|
359
|
-
There should be a log for `[react-router] setup` that indicates that the plugin was resolved correctly.
|
|
360
|
-
Then look for any errors in the log.
|
|
243
|
+
- Replace `substr` with `substring` ([#12080](https://github.com/remix-run/react-router/pull/12080))
|
|
361
244
|
|
|
362
|
-
-
|
|
363
|
-
- Stabilize `unstable_patchRoutesOnNavigation` ([#11970](https://github.com/remix-run/react-router/pull/11970))
|
|
245
|
+
- Remove the deprecated `json` utility ([#12146](https://github.com/remix-run/react-router/pull/12146))
|
|
364
246
|
|
|
365
|
-
|
|
247
|
+
- You can use [`Response.json`](https://developer.mozilla.org/en-US/docs/Web/API/Response/json_static) if you still need to construct JSON responses in your app
|
|
366
248
|
|
|
367
|
-
- Remove
|
|
368
|
-
- Fix redirects returned from loaders/actions using `data()` ([#12021](https://github.com/remix-run/react-router/pull/12021))
|
|
369
|
-
- [REMOVE] Rename RemixRouter->DataRouter ([#12062](https://github.com/remix-run/react-router/pull/12062))
|
|
370
|
-
- Updated dependencies:
|
|
371
|
-
- `react-router@7.0.0-pre.0`
|
|
249
|
+
- Remove unneeded dependency on source-map ([#12275](https://github.com/remix-run/react-router/pull/12275))
|
|
372
250
|
|
|
373
251
|
## 6.28.0
|
|
374
252
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* react-router v7.0.0
|
|
2
|
+
* react-router v7.0.0
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
5
5
|
*
|
|
@@ -6980,7 +6980,7 @@ function mergeRefs(...refs) {
|
|
|
6980
6980
|
var isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined";
|
|
6981
6981
|
try {
|
|
6982
6982
|
if (isBrowser) {
|
|
6983
|
-
window.__reactRouterVersion = "7.0.0
|
|
6983
|
+
window.__reactRouterVersion = "7.0.0";
|
|
6984
6984
|
}
|
|
6985
6985
|
} catch (e) {
|
|
6986
6986
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* react-router v7.0.0
|
|
2
|
+
* react-router v7.0.0
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
5
5
|
*
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
matchRoutes,
|
|
26
26
|
shouldHydrateRouteLoader,
|
|
27
27
|
useFogOFWarDiscovery
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-U6WQEHBI.mjs";
|
|
29
29
|
|
|
30
30
|
// lib/dom-export/dom-router-provider.tsx
|
|
31
31
|
import * as React from "react";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* react-router v7.0.0
|
|
2
|
+
* react-router v7.0.0
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
5
5
|
*
|
|
@@ -7125,7 +7125,7 @@ function mergeRefs(...refs) {
|
|
|
7125
7125
|
var isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined";
|
|
7126
7126
|
try {
|
|
7127
7127
|
if (isBrowser) {
|
|
7128
|
-
window.__reactRouterVersion = "7.0.0
|
|
7128
|
+
window.__reactRouterVersion = "7.0.0";
|
|
7129
7129
|
}
|
|
7130
7130
|
} catch (e) {
|
|
7131
7131
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* react-router v7.0.0
|
|
2
|
+
* react-router v7.0.0
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
5
5
|
*
|
|
@@ -119,7 +119,7 @@ import {
|
|
|
119
119
|
useSearchParams,
|
|
120
120
|
useSubmit,
|
|
121
121
|
useViewTransitionState
|
|
122
|
-
} from "./chunk-
|
|
122
|
+
} from "./chunk-U6WQEHBI.mjs";
|
|
123
123
|
export {
|
|
124
124
|
Await,
|
|
125
125
|
BrowserRouter,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* react-router v7.0.0
|
|
2
|
+
* react-router v7.0.0
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
5
5
|
*
|
|
@@ -6980,7 +6980,7 @@ function mergeRefs(...refs) {
|
|
|
6980
6980
|
var isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined";
|
|
6981
6981
|
try {
|
|
6982
6982
|
if (isBrowser) {
|
|
6983
|
-
window.__reactRouterVersion = "7.0.0
|
|
6983
|
+
window.__reactRouterVersion = "7.0.0";
|
|
6984
6984
|
}
|
|
6985
6985
|
} catch (e) {
|
|
6986
6986
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* react-router v7.0.0
|
|
2
|
+
* react-router v7.0.0
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
5
5
|
*
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
matchRoutes,
|
|
26
26
|
shouldHydrateRouteLoader,
|
|
27
27
|
useFogOFWarDiscovery
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-L6MGG5FJ.mjs";
|
|
29
29
|
|
|
30
30
|
// lib/dom-export/dom-router-provider.tsx
|
|
31
31
|
import * as React from "react";
|
package/dist/production/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* react-router v7.0.0
|
|
2
|
+
* react-router v7.0.0
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
5
5
|
*
|
|
@@ -7125,7 +7125,7 @@ function mergeRefs(...refs) {
|
|
|
7125
7125
|
var isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined";
|
|
7126
7126
|
try {
|
|
7127
7127
|
if (isBrowser) {
|
|
7128
|
-
window.__reactRouterVersion = "7.0.0
|
|
7128
|
+
window.__reactRouterVersion = "7.0.0";
|
|
7129
7129
|
}
|
|
7130
7130
|
} catch (e) {
|
|
7131
7131
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* react-router v7.0.0
|
|
2
|
+
* react-router v7.0.0
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
5
5
|
*
|
|
@@ -119,7 +119,7 @@ import {
|
|
|
119
119
|
useSearchParams,
|
|
120
120
|
useSubmit,
|
|
121
121
|
useViewTransitionState
|
|
122
|
-
} from "./chunk-
|
|
122
|
+
} from "./chunk-L6MGG5FJ.mjs";
|
|
123
123
|
export {
|
|
124
124
|
Await,
|
|
125
125
|
BrowserRouter,
|