react-router 0.0.0-experimental-c19b79d → 0.0.0-experimental-e0b6ce9

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.
Files changed (65) hide show
  1. package/dist/development/{chunk-AGOH44BE.mjs → chunk-4FI4BC6Y.mjs} +67 -51
  2. package/dist/development/{chunk-IMKEG5CI.mjs → chunk-F6CT5MEB.mjs} +314 -30
  3. package/dist/development/{chunk-LUB73E44.js → chunk-INO4IHBF.js} +352 -71
  4. package/dist/development/{chunk-2G2U5HGB.js → chunk-ITZFCV4J.js} +164 -161
  5. package/dist/development/dom-export.d.mts +59 -4
  6. package/dist/development/dom-export.d.ts +59 -3
  7. package/dist/development/dom-export.js +8 -5
  8. package/dist/development/dom-export.mjs +8 -5
  9. package/dist/development/{index-react-server-client-DKvU8YRr.d.ts → index-react-server-client-CYIi6gi0.d.mts} +198 -134
  10. package/dist/{production/index-react-server-client-DKvU8YRr.d.ts → development/index-react-server-client-ChBGplLn.d.ts} +198 -134
  11. package/dist/development/index-react-server-client.d.mts +3 -3
  12. package/dist/development/index-react-server-client.d.ts +3 -2
  13. package/dist/development/index-react-server-client.js +4 -4
  14. package/dist/development/index-react-server-client.mjs +2 -2
  15. package/dist/development/index-react-server.d.mts +90 -1
  16. package/dist/development/index-react-server.d.ts +90 -1
  17. package/dist/development/index-react-server.js +188 -9
  18. package/dist/development/index-react-server.mjs +188 -9
  19. package/dist/development/index.d.mts +13 -20
  20. package/dist/development/index.d.ts +13 -18
  21. package/dist/development/index.js +161 -147
  22. package/dist/development/index.mjs +3 -5
  23. package/dist/development/instrumentation-BGrNA7uj.d.ts +1122 -0
  24. package/dist/development/lib/types/internal.d.mts +3 -3
  25. package/dist/development/lib/types/internal.d.ts +3 -2
  26. package/dist/development/lib/types/internal.js +1 -1
  27. package/dist/development/lib/types/internal.mjs +1 -1
  28. package/dist/development/{register-BrVEYTED.d.mts → register-DiOIlEq5.d.mts} +1 -7
  29. package/dist/{production/register-BrVEYTED.d.mts → development/register-DiOIlEq5.d.ts} +1 -7
  30. package/dist/development/{route-data-CDwqkzPE.d.mts → routeModules-Cy4Xsfoi.d.mts} +157 -147
  31. package/dist/{production/routeModules-BmVo7q9e.d.ts → development/routeModules-DqotkItD.d.ts} +73 -1046
  32. package/dist/{production/context-BqL5Eckq.d.mts → development/router-DWv6Clt-.d.mts} +1390 -1253
  33. package/dist/production/{chunk-AODJW4D3.mjs → chunk-52MYED7O.mjs} +67 -51
  34. package/dist/production/{chunk-FGRCWJDI.js → chunk-DASXXYNZ.js} +164 -161
  35. package/dist/production/{chunk-2L5AG5Y5.js → chunk-K7VXYOZD.js} +352 -71
  36. package/dist/production/{chunk-UOQCOPF6.mjs → chunk-LKSLGWXX.mjs} +314 -30
  37. package/dist/production/dom-export.d.mts +59 -4
  38. package/dist/production/dom-export.d.ts +59 -3
  39. package/dist/production/dom-export.js +8 -5
  40. package/dist/production/dom-export.mjs +8 -5
  41. package/dist/production/{index-react-server-client-2EDmGlsZ.d.mts → index-react-server-client-CYIi6gi0.d.mts} +140 -77
  42. package/dist/{development/index-react-server-client-2EDmGlsZ.d.mts → production/index-react-server-client-ChBGplLn.d.ts} +140 -77
  43. package/dist/production/index-react-server-client.d.mts +3 -3
  44. package/dist/production/index-react-server-client.d.ts +3 -2
  45. package/dist/production/index-react-server-client.js +4 -4
  46. package/dist/production/index-react-server-client.mjs +2 -2
  47. package/dist/production/index-react-server.d.mts +90 -1
  48. package/dist/production/index-react-server.d.ts +90 -1
  49. package/dist/production/index-react-server.js +188 -9
  50. package/dist/production/index-react-server.mjs +188 -9
  51. package/dist/production/index.d.mts +13 -20
  52. package/dist/production/index.d.ts +13 -18
  53. package/dist/production/index.js +161 -147
  54. package/dist/production/index.mjs +3 -5
  55. package/dist/production/instrumentation-BGrNA7uj.d.ts +1122 -0
  56. package/dist/production/lib/types/internal.d.mts +3 -3
  57. package/dist/production/lib/types/internal.d.ts +3 -2
  58. package/dist/production/lib/types/internal.js +1 -1
  59. package/dist/production/lib/types/internal.mjs +1 -1
  60. package/dist/{development/register-D8NQoPsO.d.ts → production/register-DiOIlEq5.d.mts} +1 -7
  61. package/dist/production/{register-D8NQoPsO.d.ts → register-DiOIlEq5.d.ts} +1 -7
  62. package/dist/production/{route-data-CDwqkzPE.d.mts → routeModules-Cy4Xsfoi.d.mts} +157 -147
  63. package/dist/{development/routeModules-BmVo7q9e.d.ts → production/routeModules-DqotkItD.d.ts} +73 -1046
  64. package/dist/{development/context-BqL5Eckq.d.mts → production/router-DWv6Clt-.d.mts} +1390 -1253
  65. package/package.json +1 -1
@@ -1,5 +1,148 @@
1
- import { ai as HTMLFormMethod, ag as FormEncType, k as RelativeRoutingType, by as RouteManifest, bz as ServerRouteModule, O as MiddlewareEnabled, K as RouterContextProvider, J as AppLoadContext, ak as LoaderFunctionArgs, ab as ActionFunctionArgs, f as RouteModules, H as HydrationState, a0 as DataRouteObject, W as ClientLoaderFunction, a4 as StaticHandlerContext, bb as PageLinkDescriptor, T as To, bA as History, a3 as GetScrollRestorationKeyFunction, Z as RouterInit, bB as FutureConfig$1, g as DataStrategyFunction, $ as PatchRoutesOnNavigationFunction, h as NavigateOptions, a5 as Fetcher, r as RouteObject, e as Router, j as SerializeFrom, B as BlockerFunction, a as Location, bC as CreateStaticHandlerOptions$1, a1 as StaticHandler } from './routeModules-BmVo7q9e.js';
1
+ import { d as RouteModules, H as HydrationState, D as DataRouteObject, r as ClientLoaderFunction, z as StaticHandlerContext, aN as ServerRouteModule, A as AppLoadContext, h as RelativeRoutingType, au as PageLinkDescriptor, y as GetScrollRestorationKeyFunction, t as RouterInit, aO as FutureConfig$1, v as PatchRoutesOnNavigationFunction, e as NavigateOptions, J as Fetcher, j as RouteObject, c as Router, g as SerializeFrom, B as BlockerFunction, aP as CreateStaticHandlerOptions$1, w as StaticHandler } from './routeModules-DqotkItD.js';
2
2
  import * as React from 'react';
3
+ import { af as RouteManifest, t as MiddlewareEnabled, R as RouterContextProvider, w as LoaderFunctionArgs, v as ActionFunctionArgs, j as unstable_ServerInstrumentation, i as HTMLFormMethod, F as FormEncType, T as To, H as History, u as unstable_ClientInstrumentation, f as DataStrategyFunction, L as Location } from './instrumentation-BGrNA7uj.js';
4
+
5
+ interface Route {
6
+ index?: boolean;
7
+ caseSensitive?: boolean;
8
+ id: string;
9
+ parentId?: string;
10
+ path?: string;
11
+ }
12
+ interface EntryRoute extends Route {
13
+ hasAction: boolean;
14
+ hasLoader: boolean;
15
+ hasClientAction: boolean;
16
+ hasClientLoader: boolean;
17
+ hasClientMiddleware: boolean;
18
+ hasErrorBoundary: boolean;
19
+ imports?: string[];
20
+ css?: string[];
21
+ module: string;
22
+ clientActionModule: string | undefined;
23
+ clientLoaderModule: string | undefined;
24
+ clientMiddlewareModule: string | undefined;
25
+ hydrateFallbackModule: string | undefined;
26
+ parentId?: string;
27
+ }
28
+ declare function createClientRoutesWithHMRRevalidationOptOut(needsRevalidation: Set<string>, manifest: RouteManifest<EntryRoute>, routeModulesCache: RouteModules, initialState: HydrationState, ssr: boolean, isSpaMode: boolean): DataRouteObject[];
29
+ declare function createClientRoutes(manifest: RouteManifest<EntryRoute>, routeModulesCache: RouteModules, initialState: HydrationState | null, ssr: boolean, isSpaMode: boolean, parentId?: string, routesByParentId?: Record<string, Omit<EntryRoute, "children">[]>, needsRevalidation?: Set<string>): DataRouteObject[];
30
+ declare function shouldHydrateRouteLoader(routeId: string, clientLoader: ClientLoaderFunction | undefined, hasLoader: boolean, isSpaMode: boolean): boolean;
31
+
32
+ type SerializedError = {
33
+ message: string;
34
+ stack?: string;
35
+ };
36
+ interface FrameworkContextObject {
37
+ manifest: AssetsManifest;
38
+ routeModules: RouteModules;
39
+ criticalCss?: CriticalCss;
40
+ serverHandoffString?: string;
41
+ future: FutureConfig;
42
+ ssr: boolean;
43
+ isSpaMode: boolean;
44
+ routeDiscovery: ServerBuild["routeDiscovery"];
45
+ serializeError?(error: Error): SerializedError;
46
+ renderMeta?: {
47
+ didRenderScripts?: boolean;
48
+ streamCache?: Record<number, Promise<void> & {
49
+ result?: {
50
+ done: boolean;
51
+ value: string;
52
+ };
53
+ error?: unknown;
54
+ }>;
55
+ };
56
+ }
57
+ interface EntryContext extends FrameworkContextObject {
58
+ staticHandlerContext: StaticHandlerContext;
59
+ serverHandoffStream?: ReadableStream<Uint8Array>;
60
+ }
61
+ interface FutureConfig {
62
+ unstable_subResourceIntegrity: boolean;
63
+ v8_middleware: boolean;
64
+ }
65
+ type CriticalCss = string | {
66
+ rel: "stylesheet";
67
+ href: string;
68
+ };
69
+ interface AssetsManifest {
70
+ entry: {
71
+ imports: string[];
72
+ module: string;
73
+ };
74
+ routes: RouteManifest<EntryRoute>;
75
+ url: string;
76
+ version: string;
77
+ hmr?: {
78
+ timestamp?: number;
79
+ runtime: string;
80
+ };
81
+ sri?: Record<string, string> | true;
82
+ }
83
+
84
+ type ServerRouteManifest = RouteManifest<Omit<ServerRoute, "children">>;
85
+ interface ServerRoute extends Route {
86
+ children: ServerRoute[];
87
+ module: ServerRouteModule;
88
+ }
89
+
90
+ type OptionalCriticalCss = CriticalCss | undefined;
91
+ /**
92
+ * The output of the compiler for the server build.
93
+ */
94
+ interface ServerBuild {
95
+ entry: {
96
+ module: ServerEntryModule;
97
+ };
98
+ routes: ServerRouteManifest;
99
+ assets: AssetsManifest;
100
+ basename?: string;
101
+ publicPath: string;
102
+ assetsBuildDirectory: string;
103
+ future: FutureConfig;
104
+ ssr: boolean;
105
+ unstable_getCriticalCss?: (args: {
106
+ pathname: string;
107
+ }) => OptionalCriticalCss | Promise<OptionalCriticalCss>;
108
+ /**
109
+ * @deprecated This is now done via a custom header during prerendering
110
+ */
111
+ isSpaMode: boolean;
112
+ prerender: string[];
113
+ routeDiscovery: {
114
+ mode: "lazy" | "initial";
115
+ manifestPath: string;
116
+ };
117
+ }
118
+ interface HandleDocumentRequestFunction {
119
+ (request: Request, responseStatusCode: number, responseHeaders: Headers, context: EntryContext, loadContext: MiddlewareEnabled extends true ? RouterContextProvider : AppLoadContext): Promise<Response> | Response;
120
+ }
121
+ interface HandleDataRequestFunction {
122
+ (response: Response, args: {
123
+ request: LoaderFunctionArgs["request"] | ActionFunctionArgs["request"];
124
+ context: LoaderFunctionArgs["context"] | ActionFunctionArgs["context"];
125
+ params: LoaderFunctionArgs["params"] | ActionFunctionArgs["params"];
126
+ }): Promise<Response> | Response;
127
+ }
128
+ interface HandleErrorFunction {
129
+ (error: unknown, args: {
130
+ request: LoaderFunctionArgs["request"] | ActionFunctionArgs["request"];
131
+ context: LoaderFunctionArgs["context"] | ActionFunctionArgs["context"];
132
+ params: LoaderFunctionArgs["params"] | ActionFunctionArgs["params"];
133
+ }): void;
134
+ }
135
+ /**
136
+ * A module that serves as the entry point for a Remix app during server
137
+ * rendering.
138
+ */
139
+ interface ServerEntryModule {
140
+ default: HandleDocumentRequestFunction;
141
+ handleDataRequest?: HandleDataRequestFunction;
142
+ handleError?: HandleErrorFunction;
143
+ unstable_instrumentations?: unstable_ServerInstrumentation[];
144
+ streamTimeout?: number;
145
+ }
3
146
 
4
147
  type ParamKeyValuePair = [string, string];
5
148
  type URLSearchParamsInit = string | ParamKeyValuePair[] | Record<string, string | string[]> | URLSearchParams;
@@ -107,139 +250,6 @@ interface SubmitOptions extends FetcherSubmitOptions {
107
250
  viewTransition?: boolean;
108
251
  }
109
252
 
110
- type ServerRouteManifest = RouteManifest<Omit<ServerRoute, "children">>;
111
- interface ServerRoute extends Route {
112
- children: ServerRoute[];
113
- module: ServerRouteModule;
114
- }
115
-
116
- type OptionalCriticalCss = CriticalCss | undefined;
117
- /**
118
- * The output of the compiler for the server build.
119
- */
120
- interface ServerBuild {
121
- entry: {
122
- module: ServerEntryModule;
123
- };
124
- routes: ServerRouteManifest;
125
- assets: AssetsManifest;
126
- basename?: string;
127
- publicPath: string;
128
- assetsBuildDirectory: string;
129
- future: FutureConfig;
130
- ssr: boolean;
131
- unstable_getCriticalCss?: (args: {
132
- pathname: string;
133
- }) => OptionalCriticalCss | Promise<OptionalCriticalCss>;
134
- /**
135
- * @deprecated This is now done via a custom header during prerendering
136
- */
137
- isSpaMode: boolean;
138
- prerender: string[];
139
- routeDiscovery: {
140
- mode: "lazy" | "initial";
141
- manifestPath: string;
142
- };
143
- }
144
- interface HandleDocumentRequestFunction {
145
- (request: Request, responseStatusCode: number, responseHeaders: Headers, context: EntryContext, loadContext: MiddlewareEnabled extends true ? RouterContextProvider : AppLoadContext): Promise<Response> | Response;
146
- }
147
- interface HandleDataRequestFunction {
148
- (response: Response, args: LoaderFunctionArgs | ActionFunctionArgs): Promise<Response> | Response;
149
- }
150
- interface HandleErrorFunction {
151
- (error: unknown, args: LoaderFunctionArgs | ActionFunctionArgs): void;
152
- }
153
- /**
154
- * A module that serves as the entry point for a Remix app during server
155
- * rendering.
156
- */
157
- interface ServerEntryModule {
158
- default: HandleDocumentRequestFunction;
159
- handleDataRequest?: HandleDataRequestFunction;
160
- handleError?: HandleErrorFunction;
161
- streamTimeout?: number;
162
- }
163
-
164
- interface Route {
165
- index?: boolean;
166
- caseSensitive?: boolean;
167
- id: string;
168
- parentId?: string;
169
- path?: string;
170
- }
171
- interface EntryRoute extends Route {
172
- hasAction: boolean;
173
- hasLoader: boolean;
174
- hasClientAction: boolean;
175
- hasClientLoader: boolean;
176
- hasClientMiddleware: boolean;
177
- hasErrorBoundary: boolean;
178
- imports?: string[];
179
- css?: string[];
180
- module: string;
181
- clientActionModule: string | undefined;
182
- clientLoaderModule: string | undefined;
183
- clientMiddlewareModule: string | undefined;
184
- hydrateFallbackModule: string | undefined;
185
- parentId?: string;
186
- }
187
- declare function createClientRoutesWithHMRRevalidationOptOut(needsRevalidation: Set<string>, manifest: RouteManifest<EntryRoute>, routeModulesCache: RouteModules, initialState: HydrationState, ssr: boolean, isSpaMode: boolean): DataRouteObject[];
188
- declare function createClientRoutes(manifest: RouteManifest<EntryRoute>, routeModulesCache: RouteModules, initialState: HydrationState | null, ssr: boolean, isSpaMode: boolean, parentId?: string, routesByParentId?: Record<string, Omit<EntryRoute, "children">[]>, needsRevalidation?: Set<string>): DataRouteObject[];
189
- declare function shouldHydrateRouteLoader(routeId: string, clientLoader: ClientLoaderFunction | undefined, hasLoader: boolean, isSpaMode: boolean): boolean;
190
-
191
- type SerializedError = {
192
- message: string;
193
- stack?: string;
194
- };
195
- interface FrameworkContextObject {
196
- manifest: AssetsManifest;
197
- routeModules: RouteModules;
198
- criticalCss?: CriticalCss;
199
- serverHandoffString?: string;
200
- future: FutureConfig;
201
- ssr: boolean;
202
- isSpaMode: boolean;
203
- routeDiscovery: ServerBuild["routeDiscovery"];
204
- serializeError?(error: Error): SerializedError;
205
- renderMeta?: {
206
- didRenderScripts?: boolean;
207
- streamCache?: Record<number, Promise<void> & {
208
- result?: {
209
- done: boolean;
210
- value: string;
211
- };
212
- error?: unknown;
213
- }>;
214
- };
215
- }
216
- interface EntryContext extends FrameworkContextObject {
217
- staticHandlerContext: StaticHandlerContext;
218
- serverHandoffStream?: ReadableStream<Uint8Array>;
219
- }
220
- interface FutureConfig {
221
- unstable_subResourceIntegrity: boolean;
222
- v8_middleware: boolean;
223
- }
224
- type CriticalCss = string | {
225
- rel: "stylesheet";
226
- href: string;
227
- };
228
- interface AssetsManifest {
229
- entry: {
230
- imports: string[];
231
- module: string;
232
- };
233
- routes: RouteManifest<EntryRoute>;
234
- url: string;
235
- version: string;
236
- hmr?: {
237
- timestamp?: number;
238
- runtime: string;
239
- };
240
- sri?: Record<string, string> | true;
241
- }
242
-
243
253
  declare const FrameworkContext: React.Context<FrameworkContextObject | undefined>;
244
254
  /**
245
255
  * Defines the discovery behavior of the link:
@@ -521,6 +531,58 @@ interface DOMRouterOpts {
521
531
  * ```
522
532
  */
523
533
  hydrationData?: HydrationState;
534
+ /**
535
+ * Array of instrumentation objects allowing you to instrument the router and
536
+ * individual routes prior to router initialization (and on any subsequently
537
+ * added routes via `route.lazy` or `patchRoutesOnNavigation`). This is
538
+ * mostly useful for observability such as wrapping navigations, fetches,
539
+ * as well as route loaders/actions/middlewares with logging and/or performance
540
+ * tracing.
541
+ *
542
+ * ```tsx
543
+ * let router = createBrowserRouter(routes, {
544
+ * unstable_instrumentations: [logging]
545
+ * });
546
+ *
547
+ *
548
+ * let logging = {
549
+ * router({ instrument }) {
550
+ * instrument({
551
+ * navigate: (impl, info) => logExecution(`navigate ${info.to}`, impl),
552
+ * fetch: (impl, info) => logExecution(`fetch ${info.to}`, impl)
553
+ * });
554
+ * },
555
+ * route({ instrument, id }) {
556
+ * instrument({
557
+ * middleware: (impl, info) => logExecution(
558
+ * `middleware ${info.request.url} (route ${id})`,
559
+ * impl
560
+ * ),
561
+ * loader: (impl, info) => logExecution(
562
+ * `loader ${info.request.url} (route ${id})`,
563
+ * impl
564
+ * ),
565
+ * action: (impl, info) => logExecution(
566
+ * `action ${info.request.url} (route ${id})`,
567
+ * impl
568
+ * ),
569
+ * })
570
+ * }
571
+ * };
572
+ *
573
+ * async function logExecution(label: string, impl: () => Promise<void>) {
574
+ * let start = performance.now();
575
+ * console.log(`start ${label}`);
576
+ * try {
577
+ * await impl();
578
+ * } finally {
579
+ * let end = performance.now();
580
+ * console.log(`end ${label} (${Math.round(end - start)}ms)`);
581
+ * }
582
+ * }
583
+ * ```
584
+ */
585
+ unstable_instrumentations?: unstable_ClientInstrumentation[];
524
586
  /**
525
587
  * Override the default data strategy of running loaders in parallel.
526
588
  * See {@link DataStrategyFunction}.
@@ -1026,6 +1088,7 @@ interface DOMRouterOpts {
1026
1088
  * @param {DOMRouterOpts.future} opts.future n/a
1027
1089
  * @param {DOMRouterOpts.getContext} opts.getContext n/a
1028
1090
  * @param {DOMRouterOpts.hydrationData} opts.hydrationData n/a
1091
+ * @param {DOMRouterOpts.unstable_instrumentations} opts.unstable_instrumentations n/a
1029
1092
  * @param {DOMRouterOpts.patchRoutesOnNavigation} opts.patchRoutesOnNavigation n/a
1030
1093
  * @param {DOMRouterOpts.window} opts.window n/a
1031
1094
  * @returns An initialized {@link DataRouter| data router} to pass to {@link RouterProvider | `<RouterProvider>`}
@@ -1044,6 +1107,7 @@ declare function createBrowserRouter(routes: RouteObject[], opts?: DOMRouterOpts
1044
1107
  * @param {DOMRouterOpts.future} opts.future n/a
1045
1108
  * @param {DOMRouterOpts.getContext} opts.getContext n/a
1046
1109
  * @param {DOMRouterOpts.hydrationData} opts.hydrationData n/a
1110
+ * @param {DOMRouterOpts.unstable_instrumentations} opts.unstable_instrumentations n/a
1047
1111
  * @param {DOMRouterOpts.dataStrategy} opts.dataStrategy n/a
1048
1112
  * @param {DOMRouterOpts.patchRoutesOnNavigation} opts.patchRoutesOnNavigation n/a
1049
1113
  * @param {DOMRouterOpts.window} opts.window n/a
@@ -1,4 +1,4 @@
1
- export { aE as MemoryRouter, aF as Navigate, aG as Outlet, aH as Route, aI as Router, aJ as RouterProvider, aK as Routes, ar as UNSAFE_AwaitContextProvider, b1 as UNSAFE_WithComponentProps, b5 as UNSAFE_WithErrorBoundaryProps, b3 as UNSAFE_WithHydrateFallbackProps } from './context-BqL5Eckq.mjs';
2
- export { l as BrowserRouter, q as Form, m as HashRouter, n as Link, X as Links, W as Meta, p as NavLink, r as ScrollRestoration, T as StaticRouter, V as StaticRouterProvider, o as unstable_HistoryRouter } from './index-react-server-client-2EDmGlsZ.mjs';
1
+ export { aJ as MemoryRouter, aK as Navigate, aL as Outlet, aM as Route, aN as Router, aO as RouterProvider, aP as Routes, aw as UNSAFE_AwaitContextProvider, b6 as UNSAFE_WithComponentProps, ba as UNSAFE_WithErrorBoundaryProps, b8 as UNSAFE_WithHydrateFallbackProps } from './router-DWv6Clt-.mjs';
2
+ export { l as BrowserRouter, q as Form, m as HashRouter, n as Link, X as Links, W as Meta, p as NavLink, r as ScrollRestoration, T as StaticRouter, V as StaticRouterProvider, o as unstable_HistoryRouter } from './index-react-server-client-CYIi6gi0.mjs';
3
3
  import 'react';
4
- import './route-data-CDwqkzPE.mjs';
4
+ import './routeModules-Cy4Xsfoi.mjs';
@@ -1,3 +1,4 @@
1
- export { aY as MemoryRouter, aZ as Navigate, a_ as Outlet, a$ as Route, b0 as Router, b1 as RouterProvider, b2 as Routes, aJ as UNSAFE_AwaitContextProvider, bs as UNSAFE_WithComponentProps, bw as UNSAFE_WithErrorBoundaryProps, bu as UNSAFE_WithHydrateFallbackProps } from './routeModules-BmVo7q9e.js';
2
- export { l as BrowserRouter, q as Form, m as HashRouter, n as Link, X as Links, W as Meta, p as NavLink, r as ScrollRestoration, T as StaticRouter, V as StaticRouterProvider, o as unstable_HistoryRouter } from './index-react-server-client-DKvU8YRr.js';
1
+ export { af as MemoryRouter, ag as Navigate, ah as Outlet, ai as Route, aj as Router, ak as RouterProvider, al as Routes, a0 as UNSAFE_AwaitContextProvider, aH as UNSAFE_WithComponentProps, aL as UNSAFE_WithErrorBoundaryProps, aJ as UNSAFE_WithHydrateFallbackProps } from './routeModules-DqotkItD.js';
2
+ export { l as BrowserRouter, q as Form, m as HashRouter, n as Link, X as Links, W as Meta, p as NavLink, r as ScrollRestoration, T as StaticRouter, V as StaticRouterProvider, o as unstable_HistoryRouter } from './index-react-server-client-ChBGplLn.js';
3
3
  import 'react';
4
+ import './instrumentation-BGrNA7uj.js';
@@ -1,5 +1,5 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});/**
2
- * react-router v0.0.0-experimental-c19b79d
2
+ * react-router v0.0.0-experimental-e0b6ce9
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -29,12 +29,12 @@
29
29
 
30
30
 
31
31
 
32
- var _chunk2G2U5HGBjs = require('./chunk-2G2U5HGB.js');
32
+ var _chunkITZFCV4Jjs = require('./chunk-ITZFCV4J.js');
33
33
 
34
34
 
35
35
 
36
36
 
37
- var _chunkLUB73E44js = require('./chunk-LUB73E44.js');
37
+ var _chunkINO4IHBFjs = require('./chunk-INO4IHBF.js');
38
38
 
39
39
 
40
40
 
@@ -58,4 +58,4 @@ var _chunkLUB73E44js = require('./chunk-LUB73E44.js');
58
58
 
59
59
 
60
60
 
61
- exports.BrowserRouter = _chunk2G2U5HGBjs.BrowserRouter; exports.Form = _chunk2G2U5HGBjs.Form; exports.HashRouter = _chunk2G2U5HGBjs.HashRouter; exports.Link = _chunk2G2U5HGBjs.Link; exports.Links = _chunkLUB73E44js.Links; exports.MemoryRouter = _chunk2G2U5HGBjs.MemoryRouter; exports.Meta = _chunkLUB73E44js.Meta; exports.NavLink = _chunk2G2U5HGBjs.NavLink; exports.Navigate = _chunk2G2U5HGBjs.Navigate; exports.Outlet = _chunk2G2U5HGBjs.Outlet; exports.Route = _chunk2G2U5HGBjs.Route; exports.Router = _chunk2G2U5HGBjs.Router; exports.RouterProvider = _chunk2G2U5HGBjs.RouterProvider; exports.Routes = _chunk2G2U5HGBjs.Routes; exports.ScrollRestoration = _chunk2G2U5HGBjs.ScrollRestoration; exports.StaticRouter = _chunk2G2U5HGBjs.StaticRouter; exports.StaticRouterProvider = _chunk2G2U5HGBjs.StaticRouterProvider; exports.UNSAFE_AwaitContextProvider = _chunkLUB73E44js.AwaitContextProvider; exports.UNSAFE_WithComponentProps = _chunk2G2U5HGBjs.WithComponentProps; exports.UNSAFE_WithErrorBoundaryProps = _chunk2G2U5HGBjs.WithErrorBoundaryProps; exports.UNSAFE_WithHydrateFallbackProps = _chunk2G2U5HGBjs.WithHydrateFallbackProps; exports.unstable_HistoryRouter = _chunk2G2U5HGBjs.HistoryRouter;
61
+ exports.BrowserRouter = _chunkITZFCV4Jjs.BrowserRouter; exports.Form = _chunkITZFCV4Jjs.Form; exports.HashRouter = _chunkITZFCV4Jjs.HashRouter; exports.Link = _chunkITZFCV4Jjs.Link; exports.Links = _chunkINO4IHBFjs.Links; exports.MemoryRouter = _chunkITZFCV4Jjs.MemoryRouter; exports.Meta = _chunkINO4IHBFjs.Meta; exports.NavLink = _chunkITZFCV4Jjs.NavLink; exports.Navigate = _chunkITZFCV4Jjs.Navigate; exports.Outlet = _chunkITZFCV4Jjs.Outlet; exports.Route = _chunkITZFCV4Jjs.Route; exports.Router = _chunkITZFCV4Jjs.Router; exports.RouterProvider = _chunkITZFCV4Jjs.RouterProvider; exports.Routes = _chunkITZFCV4Jjs.Routes; exports.ScrollRestoration = _chunkITZFCV4Jjs.ScrollRestoration; exports.StaticRouter = _chunkITZFCV4Jjs.StaticRouter; exports.StaticRouterProvider = _chunkITZFCV4Jjs.StaticRouterProvider; exports.UNSAFE_AwaitContextProvider = _chunkINO4IHBFjs.AwaitContextProvider; exports.UNSAFE_WithComponentProps = _chunkITZFCV4Jjs.WithComponentProps; exports.UNSAFE_WithErrorBoundaryProps = _chunkITZFCV4Jjs.WithErrorBoundaryProps; exports.UNSAFE_WithHydrateFallbackProps = _chunkITZFCV4Jjs.WithHydrateFallbackProps; exports.unstable_HistoryRouter = _chunkITZFCV4Jjs.HistoryRouter;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * react-router v0.0.0-experimental-c19b79d
2
+ * react-router v0.0.0-experimental-e0b6ce9
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -32,7 +32,7 @@ import {
32
32
  WithComponentProps,
33
33
  WithErrorBoundaryProps,
34
34
  WithHydrateFallbackProps
35
- } from "./chunk-IMKEG5CI.mjs";
35
+ } from "./chunk-F6CT5MEB.mjs";
36
36
  export {
37
37
  BrowserRouter,
38
38
  Form,
@@ -351,6 +351,11 @@ type DefaultContext = MiddlewareEnabled extends true ? Readonly<RouterContextPro
351
351
  interface DataFunctionArgs<Context> {
352
352
  /** A {@link https://developer.mozilla.org/en-US/docs/Web/API/Request Fetch Request instance} which you can use to read headers (like cookies, and {@link https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams URLSearchParams} from the request. */
353
353
  request: Request;
354
+ /**
355
+ * Matched un-interpolated route pattern for the current path (i.e., /blog/:slug).
356
+ * Mostly useful as a identifier to aggregate on for logging/tracing/etc.
357
+ */
358
+ unstable_pattern: string;
354
359
  /**
355
360
  * {@link https://reactrouter.com/start/framework/routing#dynamic-segments Dynamic route params} for the current route.
356
361
  * @example
@@ -571,7 +576,7 @@ type AgnosticPatchRoutesOnNavigationFunction<O extends AgnosticRouteObject = Agn
571
576
  * properties from framework-agnostic properties
572
577
  */
573
578
  interface MapRoutePropertiesFunction {
574
- (route: AgnosticRouteObject): {
579
+ (route: AgnosticDataRouteObject): {
575
580
  hasErrorBoundary: boolean;
576
581
  } & Record<string, any>;
577
582
  }
@@ -887,6 +892,83 @@ type ErrorResponse = {
887
892
  */
888
893
  declare function isRouteErrorResponse(error: any): error is ErrorResponse;
889
894
 
895
+ type unstable_ServerInstrumentation = {
896
+ handler?: unstable_InstrumentRequestHandlerFunction;
897
+ route?: unstable_InstrumentRouteFunction;
898
+ };
899
+ type unstable_ClientInstrumentation = {
900
+ router?: unstable_InstrumentRouterFunction;
901
+ route?: unstable_InstrumentRouteFunction;
902
+ };
903
+ type unstable_InstrumentRequestHandlerFunction = (handler: InstrumentableRequestHandler) => void;
904
+ type unstable_InstrumentRouterFunction = (router: InstrumentableRouter) => void;
905
+ type unstable_InstrumentRouteFunction = (route: InstrumentableRoute) => void;
906
+ interface InstrumentFunction<T> {
907
+ (handler: () => Promise<void>, info: T): Promise<void>;
908
+ }
909
+ type ReadonlyRequest = {
910
+ method: string;
911
+ url: string;
912
+ headers: Pick<Headers, "get">;
913
+ };
914
+ type ReadonlyContext = Pick<RouterContextProvider, "get">;
915
+ type InstrumentableRoute = {
916
+ id: string;
917
+ index: boolean | undefined;
918
+ path: string | undefined;
919
+ instrument(instrumentations: RouteInstrumentations): void;
920
+ };
921
+ type RouteInstrumentations = {
922
+ lazy?: InstrumentFunction<RouteLazyInstrumentationInfo>;
923
+ "lazy.loader"?: InstrumentFunction<RouteLazyInstrumentationInfo>;
924
+ "lazy.action"?: InstrumentFunction<RouteLazyInstrumentationInfo>;
925
+ "lazy.middleware"?: InstrumentFunction<RouteLazyInstrumentationInfo>;
926
+ middleware?: InstrumentFunction<RouteHandlerInstrumentationInfo>;
927
+ loader?: InstrumentFunction<RouteHandlerInstrumentationInfo>;
928
+ action?: InstrumentFunction<RouteHandlerInstrumentationInfo>;
929
+ };
930
+ type RouteLazyInstrumentationInfo = undefined;
931
+ type RouteHandlerInstrumentationInfo = Readonly<{
932
+ request: ReadonlyRequest;
933
+ params: LoaderFunctionArgs["params"];
934
+ unstable_pattern: string;
935
+ context: ReadonlyContext;
936
+ }>;
937
+ type InstrumentableRouter = {
938
+ instrument(instrumentations: RouterInstrumentations): void;
939
+ };
940
+ type RouterInstrumentations = {
941
+ navigate?: InstrumentFunction<RouterNavigationInstrumentationInfo>;
942
+ fetch?: InstrumentFunction<RouterFetchInstrumentationInfo>;
943
+ };
944
+ type RouterNavigationInstrumentationInfo = Readonly<{
945
+ to: string | number;
946
+ currentUrl: string;
947
+ formMethod?: HTMLFormMethod;
948
+ formEncType?: FormEncType;
949
+ formData?: FormData;
950
+ body?: any;
951
+ }>;
952
+ type RouterFetchInstrumentationInfo = Readonly<{
953
+ href: string;
954
+ currentUrl: string;
955
+ fetcherKey: string;
956
+ formMethod?: HTMLFormMethod;
957
+ formEncType?: FormEncType;
958
+ formData?: FormData;
959
+ body?: any;
960
+ }>;
961
+ type InstrumentableRequestHandler = {
962
+ instrument(instrumentations: RequestHandlerInstrumentations): void;
963
+ };
964
+ type RequestHandlerInstrumentations = {
965
+ request?: InstrumentFunction<RequestHandlerInstrumentationInfo>;
966
+ };
967
+ type RequestHandlerInstrumentationInfo = Readonly<{
968
+ request: ReadonlyRequest;
969
+ context: ReadonlyContext;
970
+ }>;
971
+
890
972
  /**
891
973
  * A Router instance manages all navigation and data loading/mutations
892
974
  */
@@ -1171,6 +1253,7 @@ interface RouterInit {
1171
1253
  history: History;
1172
1254
  basename?: string;
1173
1255
  getContext?: () => MaybePromise<RouterContextProvider>;
1256
+ unstable_instrumentations?: unstable_ClientInstrumentation[];
1174
1257
  mapRouteProperties?: MapRoutePropertiesFunction;
1175
1258
  future?: Partial<FutureConfig>;
1176
1259
  hydrationRouteProperties?: string[];
@@ -1437,6 +1520,7 @@ type BlockerFunction = (args: {
1437
1520
  interface CreateStaticHandlerOptions {
1438
1521
  basename?: string;
1439
1522
  mapRouteProperties?: MapRoutePropertiesFunction;
1523
+ unstable_instrumentations?: Pick<unstable_ServerInstrumentation, "route">[];
1440
1524
  future?: {};
1441
1525
  }
1442
1526
  declare function createStaticHandler(routes: AgnosticRouteObject[], opts?: CreateStaticHandlerOptions): StaticHandler;
@@ -1807,6 +1891,11 @@ type ClientDataFunctionArgs<Params> = {
1807
1891
  * }
1808
1892
  **/
1809
1893
  params: Params;
1894
+ /**
1895
+ * Matched un-interpolated route pattern for the current path (i.e., /blog/:slug).
1896
+ * Mostly useful as a identifier to aggregate on for logging/tracing/etc.
1897
+ */
1898
+ unstable_pattern: string;
1810
1899
  /**
1811
1900
  * When `future.v8_middleware` is not enabled, this is undefined.
1812
1901
  *