@qwik.dev/router 2.0.0-beta.3 → 2.0.0-beta.30
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/adapters/static/vite.d.ts +1 -1
- package/lib/adapters/azure-swa/vite/index.d.ts +2 -2
- package/lib/adapters/azure-swa/vite/index.mjs +39 -44
- package/lib/adapters/bun-server/vite/index.d.ts +2 -2
- package/lib/adapters/bun-server/vite/index.mjs +6 -7
- package/lib/adapters/cloud-run/vite/index.d.ts +2 -2
- package/lib/adapters/cloud-run/vite/index.mjs +6 -7
- package/lib/adapters/cloudflare-pages/vite/index.d.ts +2 -2
- package/lib/adapters/cloudflare-pages/vite/index.mjs +23 -32
- package/lib/adapters/deno-server/vite/index.d.ts +2 -2
- package/lib/adapters/deno-server/vite/index.mjs +13 -9
- package/lib/adapters/netlify-edge/vite/index.d.ts +2 -2
- package/lib/adapters/netlify-edge/vite/index.mjs +22 -36
- package/lib/adapters/node-server/vite/index.d.ts +2 -2
- package/lib/adapters/node-server/vite/index.mjs +6 -7
- package/lib/adapters/shared/vite/index.d.ts +7 -19
- package/lib/adapters/shared/vite/index.mjs +244 -233
- package/lib/adapters/ssg/vite/index.d.ts +13 -0
- package/lib/adapters/ssg/vite/index.mjs +17 -0
- package/lib/adapters/vercel-edge/vite/index.d.ts +3 -3
- package/lib/adapters/vercel-edge/vite/index.mjs +33 -19
- package/lib/chunks/deepFreeze.qwik.mjs +18 -0
- package/lib/chunks/error-handler.mjs +57 -0
- package/lib/chunks/fs.mjs +144 -0
- package/lib/chunks/http-error.qwik.mjs +35 -0
- package/lib/chunks/mime-types.mjs +52 -0
- package/lib/chunks/not-found-wrapper.qwik.mjs +25 -0
- package/lib/chunks/pathname.mjs +105 -0
- package/lib/chunks/redirect-handler.mjs +6 -0
- package/lib/chunks/routing.qwik.mjs +820 -0
- package/lib/chunks/system.mjs +333 -0
- package/lib/chunks/use-functions.qwik.mjs +35 -0
- package/lib/chunks/worker-thread.qwik.mjs +2572 -0
- package/lib/index.d.ts +358 -141
- package/lib/index.qwik.mjs +865 -1156
- package/lib/middleware/aws-lambda/index.d.ts +3 -2
- package/lib/middleware/aws-lambda/index.mjs +15 -13
- package/lib/middleware/azure-swa/index.mjs +17 -218
- package/lib/middleware/bun/index.d.ts +11 -0
- package/lib/middleware/bun/index.mjs +51 -94
- package/lib/middleware/cloudflare-pages/index.mjs +23 -28
- package/lib/middleware/deno/index.d.ts +11 -0
- package/lib/middleware/deno/index.mjs +50 -94
- package/lib/middleware/firebase/index.mjs +7 -11
- package/lib/middleware/netlify-edge/index.mjs +23 -29
- package/lib/middleware/node/index.mjs +31 -100
- package/lib/middleware/request-handler/index.d.ts +161 -83
- package/lib/middleware/request-handler/index.mjs +1458 -1257
- package/lib/middleware/vercel-edge/index.mjs +28 -33
- package/lib/modules.d.ts +11 -16
- package/lib/service-worker/index.mjs +4 -0
- package/lib/{static → ssg}/index.d.ts +45 -13
- package/lib/ssg/index.mjs +336 -0
- package/lib/vite/index.d.ts +38 -10
- package/lib/vite/index.mjs +2067 -26841
- package/modules.d.ts +11 -16
- package/package.json +62 -67
- package/ssg.d.ts +2 -0
- package/static.d.ts +1 -1
- package/lib/adapters/azure-swa/vite/index.cjs +0 -96
- package/lib/adapters/bun-server/vite/index.cjs +0 -50
- package/lib/adapters/cloud-run/vite/index.cjs +0 -47
- package/lib/adapters/cloudflare-pages/vite/index.cjs +0 -115
- package/lib/adapters/deno-server/vite/index.cjs +0 -62
- package/lib/adapters/netlify-edge/vite/index.cjs +0 -129
- package/lib/adapters/node-server/vite/index.cjs +0 -50
- package/lib/adapters/shared/vite/index.cjs +0 -378
- package/lib/adapters/static/vite/index.cjs +0 -368
- package/lib/adapters/static/vite/index.d.ts +0 -10
- package/lib/adapters/static/vite/index.mjs +0 -331
- package/lib/adapters/vercel-edge/vite/index.cjs +0 -118
- package/lib/index.qwik.cjs +0 -1947
- package/lib/middleware/node/index.cjs +0 -314
- package/lib/middleware/request-handler/index.cjs +0 -1614
- package/lib/service-worker.cjs +0 -17
- package/lib/service-worker.mjs +0 -15
- package/lib/static/deno.mjs +0 -8
- package/lib/static/index.cjs +0 -67
- package/lib/static/index.mjs +0 -48
- package/lib/static/node.cjs +0 -1124
- package/lib/static/node.mjs +0 -1086
- package/lib/vite/index.cjs +0 -27445
- package/middleware/request-handler/generated/not-found-paths.ts +0 -7
- package/middleware/request-handler/generated/static-paths.ts +0 -35
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Action } from '@qwik.dev/router';
|
|
2
|
-
import type {
|
|
2
|
+
import type { AsyncLocalStorage } from 'node:async_hooks';
|
|
3
3
|
import type { EnvGetter as EnvGetter_2 } from '@qwik.dev/router/middleware/request-handler';
|
|
4
4
|
import type { FailReturn } from '@qwik.dev/router';
|
|
5
|
+
import type { JSXOutput } from '@qwik.dev/core';
|
|
5
6
|
import type { Loader as Loader_2 } from '@qwik.dev/router';
|
|
6
7
|
import type { QwikCityPlan } from '@qwik.dev/router';
|
|
7
8
|
import type { QwikIntrinsicElements } from '@qwik.dev/core';
|
|
@@ -11,14 +12,16 @@ import type { RenderOptions } from '@qwik.dev/core/server';
|
|
|
11
12
|
import { RequestEvent as RequestEvent_2 } from '@qwik.dev/router/middleware/request-handler';
|
|
12
13
|
import type { RequestHandler as RequestHandler_2 } from '@qwik.dev/router/middleware/request-handler';
|
|
13
14
|
import type { ResolveSyncValue as ResolveSyncValue_2 } from '@qwik.dev/router/middleware/request-handler';
|
|
14
|
-
import
|
|
15
|
+
import { SerializationStrategy } from '@qwik.dev/core/internal';
|
|
15
16
|
import type { ValueOrPromise } from '@qwik.dev/core';
|
|
16
|
-
import type { _verifySerializable } from '@qwik.dev/core/internal';
|
|
17
17
|
|
|
18
18
|
/** @public */
|
|
19
19
|
export declare class AbortMessage {
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
+
/** @internal */
|
|
23
|
+
export declare let _asyncRequestStore: AsyncLocalStorage<RequestEventInternal> | undefined;
|
|
24
|
+
|
|
22
25
|
/** @public */
|
|
23
26
|
export declare type CacheControl = CacheControlOptions | number | 'day' | 'week' | 'month' | 'year' | 'no-cache' | 'immutable' | 'private';
|
|
24
27
|
|
|
@@ -90,6 +93,27 @@ declare interface CacheControlOptions {
|
|
|
90
93
|
/** @public */
|
|
91
94
|
declare type CacheControlTarget = 'Cache-Control' | 'CDN-Cache-Control' | 'Cloudflare-CDN-Cache-Control' | 'Vercel-CDN-Cache-Control' | '~ANY-OTHER-STRING' | (string & {});
|
|
92
95
|
|
|
96
|
+
/**
|
|
97
|
+
* The cacheKey export type. When exported from a page module alongside eTag, enables in-memory SSR
|
|
98
|
+
* caching.
|
|
99
|
+
*
|
|
100
|
+
* - `true`: use the default cache key `status|eTag|pathname`
|
|
101
|
+
* - Function: receives status, eTag, and pathname; returns a cache key string or null (no cache)
|
|
102
|
+
*
|
|
103
|
+
* @public
|
|
104
|
+
*/
|
|
105
|
+
declare type CacheKeyFn = true | ((status: number, eTag: string, pathname: string) => string | null);
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Clear the in-memory SSR cache. Call after deployments or data changes.
|
|
109
|
+
*
|
|
110
|
+
* When `cacheKey` is provided, only that single entry is removed; otherwise the entire cache is
|
|
111
|
+
* cleared.
|
|
112
|
+
*
|
|
113
|
+
* @public
|
|
114
|
+
*/
|
|
115
|
+
export declare function clearSsrCache(cacheKey?: string): void;
|
|
116
|
+
|
|
93
117
|
/** @public */
|
|
94
118
|
export declare interface ClientConn {
|
|
95
119
|
ip?: string;
|
|
@@ -118,8 +142,18 @@ declare interface ContentMenu {
|
|
|
118
142
|
|
|
119
143
|
declare type ContentModule = PageModule | LayoutModule;
|
|
120
144
|
|
|
145
|
+
/**
|
|
146
|
+
* The eTag export type: a static string or a function receiving DocumentHeadProps.
|
|
147
|
+
*
|
|
148
|
+
* @public
|
|
149
|
+
*/
|
|
150
|
+
declare type ContentModuleETag = string | ((props: DocumentHeadProps) => string | null);
|
|
151
|
+
|
|
152
|
+
/** @public */
|
|
121
153
|
declare type ContentModuleHead = DocumentHead | ResolvedDocumentHead;
|
|
122
154
|
|
|
155
|
+
declare type ContentModuleLoader = () => ValueOrPromise<ContentModule>;
|
|
156
|
+
|
|
123
157
|
/** @public */
|
|
124
158
|
export declare interface Cookie {
|
|
125
159
|
/** Gets a `Request` cookie header value by name. */
|
|
@@ -206,6 +240,9 @@ declare type DocumentHead = DocumentHeadValue | ((props: DocumentHeadProps) => D
|
|
|
206
240
|
/** @public */
|
|
207
241
|
declare interface DocumentHeadProps extends RouteLocation {
|
|
208
242
|
readonly head: ResolvedDocumentHead;
|
|
243
|
+
/** The HTTP status code of the response (e.g. 200, 404). */
|
|
244
|
+
readonly status: number;
|
|
245
|
+
/** @deprecated This is not necessary, it works correctly without */
|
|
209
246
|
readonly withLocale: <T>(fn: () => T) => T;
|
|
210
247
|
readonly resolveValue: ResolveSyncValue_2;
|
|
211
248
|
}
|
|
@@ -214,10 +251,7 @@ declare interface DocumentHeadProps extends RouteLocation {
|
|
|
214
251
|
declare interface DocumentHeadValue<FrontMatter extends Record<string, any> = Record<string, unknown>> {
|
|
215
252
|
/** Sets `document.title`. */
|
|
216
253
|
readonly title?: string;
|
|
217
|
-
/**
|
|
218
|
-
* Used to manually set meta tags in the head. Additionally, the `data` property could be used to
|
|
219
|
-
* set arbitrary data which the `<head>` component could later use to generate `<meta>` tags.
|
|
220
|
-
*/
|
|
254
|
+
/** Used to manually set meta tags in the head. */
|
|
221
255
|
readonly meta?: readonly DocumentMeta[];
|
|
222
256
|
/** Used to manually append `<link>` elements to the `<head>`. */
|
|
223
257
|
readonly links?: readonly DocumentLink[];
|
|
@@ -234,50 +268,48 @@ declare interface DocumentHeadValue<FrontMatter extends Record<string, any> = Re
|
|
|
234
268
|
}
|
|
235
269
|
|
|
236
270
|
/** @public */
|
|
237
|
-
declare
|
|
238
|
-
as?: string;
|
|
239
|
-
crossorigin?: string;
|
|
240
|
-
disabled?: boolean;
|
|
241
|
-
href?: string;
|
|
242
|
-
hreflang?: string;
|
|
243
|
-
id?: string;
|
|
244
|
-
imagesizes?: string;
|
|
245
|
-
imagesrcset?: string;
|
|
246
|
-
integrity?: string;
|
|
247
|
-
media?: string;
|
|
248
|
-
prefetch?: string;
|
|
249
|
-
referrerpolicy?: string;
|
|
250
|
-
rel?: string;
|
|
251
|
-
sizes?: string;
|
|
252
|
-
title?: string;
|
|
253
|
-
type?: string;
|
|
254
|
-
key?: string;
|
|
255
|
-
}
|
|
271
|
+
declare type DocumentLink = QwikIntrinsicElements['link'];
|
|
256
272
|
|
|
257
273
|
/** @public */
|
|
258
|
-
declare
|
|
259
|
-
readonly content?: string;
|
|
260
|
-
readonly httpEquiv?: string;
|
|
261
|
-
readonly name?: string;
|
|
262
|
-
readonly property?: string;
|
|
263
|
-
readonly key?: string;
|
|
264
|
-
readonly itemprop?: string;
|
|
265
|
-
readonly media?: string;
|
|
266
|
-
}
|
|
274
|
+
declare type DocumentMeta = QwikIntrinsicElements['meta'];
|
|
267
275
|
|
|
268
|
-
/** @
|
|
269
|
-
declare
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
276
|
+
/** @public */
|
|
277
|
+
declare type DocumentScript = ((Omit<QwikIntrinsicElements['script'], 'dangerouslySetInnerHTML'> & {
|
|
278
|
+
props?: never;
|
|
279
|
+
}) | {
|
|
280
|
+
key?: string;
|
|
281
|
+
/**
|
|
282
|
+
* The props of the script element. @deprecated Prefer setting the properties directly instead
|
|
283
|
+
* of using this property.
|
|
284
|
+
*/
|
|
285
|
+
props: Readonly<QwikIntrinsicElements['script']>;
|
|
286
|
+
}) & ({
|
|
287
|
+
/** The inline script content. */
|
|
288
|
+
script?: string;
|
|
289
|
+
dangerouslySetInnerHTML?: never;
|
|
290
|
+
} | {
|
|
291
|
+
dangerouslySetInnerHTML?: string;
|
|
292
|
+
script?: never;
|
|
293
|
+
});
|
|
274
294
|
|
|
275
295
|
/** @public */
|
|
276
|
-
declare
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
296
|
+
declare type DocumentStyle = Readonly<((Omit<QwikIntrinsicElements['style'], 'dangerouslySetInnerHTML'> & {
|
|
297
|
+
props?: never;
|
|
298
|
+
}) | {
|
|
299
|
+
key?: string;
|
|
300
|
+
/**
|
|
301
|
+
* The props of the style element. @deprecated Prefer setting the properties directly
|
|
302
|
+
* instead of using this property.
|
|
303
|
+
*/
|
|
304
|
+
props: Readonly<QwikIntrinsicElements['style']>;
|
|
305
|
+
}) & ({
|
|
306
|
+
/** The inline style content. */
|
|
307
|
+
style?: string;
|
|
308
|
+
dangerouslySetInnerHTML?: never;
|
|
309
|
+
} | {
|
|
310
|
+
dangerouslySetInnerHTML?: string;
|
|
311
|
+
style?: never;
|
|
312
|
+
})>;
|
|
281
313
|
|
|
282
314
|
/** @public */
|
|
283
315
|
export declare interface EnvGetter {
|
|
@@ -289,50 +321,73 @@ declare type ErrorCodes = ClientErrorCode | ServerErrorCode;
|
|
|
289
321
|
/** @public */
|
|
290
322
|
export declare function getErrorHtml(status: number, e: any): string;
|
|
291
323
|
|
|
324
|
+
/**
|
|
325
|
+
* Return the HTML for a 404 page.
|
|
326
|
+
*
|
|
327
|
+
* @internal
|
|
328
|
+
*/
|
|
329
|
+
export declare function getNotFound(prefix: string): string;
|
|
330
|
+
|
|
292
331
|
/**
|
|
293
332
|
* HTTP Informational Status Codes Status codes in the 1xx range indicate that the server has
|
|
294
333
|
* received and is processing the request, but no response is available yet.
|
|
295
334
|
*/
|
|
296
335
|
declare type InformationalCode = 100 | 101 | 102 | 103;
|
|
297
336
|
|
|
337
|
+
/**
|
|
338
|
+
* Decide whether a given request path is a static path, for optimizing file access.
|
|
339
|
+
*
|
|
340
|
+
* @internal
|
|
341
|
+
*/
|
|
342
|
+
export declare function isStaticPath(method: string, url: URL): boolean;
|
|
343
|
+
|
|
298
344
|
declare interface LayoutModule extends RouteModule {
|
|
299
|
-
readonly default:
|
|
345
|
+
readonly default?: (props: Record<string, never>) => JSXOutput;
|
|
346
|
+
readonly routeConfig?: RouteConfig;
|
|
300
347
|
readonly head?: ContentModuleHead;
|
|
301
348
|
}
|
|
302
349
|
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
350
|
+
/** The route to render */
|
|
351
|
+
declare interface LoadedRoute {
|
|
352
|
+
/** The canonical path of the route, e.g. `/products/[id]` */
|
|
353
|
+
$routeName$: string;
|
|
354
|
+
/** The route parameters, e.g. `{ id: '123' }` */
|
|
355
|
+
$params$: PathParams;
|
|
356
|
+
/** The modules associated with this route (on 404, contains only the error component) */
|
|
357
|
+
$mods$: (RouteModule | ContentModule)[];
|
|
358
|
+
/** The menu associated with this route */
|
|
359
|
+
$menu$?: ContentMenu | undefined;
|
|
360
|
+
/** The bundle names for this route */
|
|
361
|
+
$routeBundleNames$?: string[] | undefined;
|
|
362
|
+
/** Whether this route is a not-found (404) route */
|
|
363
|
+
$notFound$?: boolean;
|
|
364
|
+
/** The error module loader (nearest _E ancestor), for rendering ServerErrors */
|
|
365
|
+
$errorLoader$?: ContentModuleLoader;
|
|
366
|
+
}
|
|
310
367
|
|
|
311
368
|
/** @public */
|
|
312
369
|
export declare const mergeHeadersCookies: (headers: Headers, cookies: Cookie) => Headers;
|
|
313
370
|
|
|
314
371
|
/** @public */
|
|
315
|
-
declare
|
|
316
|
-
readonly default:
|
|
372
|
+
declare type PageModule = RouteModule & {
|
|
373
|
+
readonly default: (props: Record<string, never>) => JSXOutput;
|
|
374
|
+
readonly routeConfig?: RouteConfig;
|
|
317
375
|
readonly head?: ContentModuleHead;
|
|
376
|
+
readonly eTag?: ContentModuleETag;
|
|
377
|
+
readonly cacheKey?: CacheKeyFn;
|
|
318
378
|
readonly headings?: ContentHeading[];
|
|
319
379
|
readonly onStaticGenerate?: StaticGenerateHandler;
|
|
320
|
-
}
|
|
380
|
+
};
|
|
321
381
|
|
|
322
382
|
/** @public */
|
|
323
383
|
declare type PathParams = Record<string, string>;
|
|
324
384
|
|
|
385
|
+
declare type QwikRouterCompletion = Error | undefined | object;
|
|
386
|
+
|
|
325
387
|
declare interface QwikRouterRun<T> {
|
|
326
388
|
response: Promise<T | null>;
|
|
327
389
|
requestEv: RequestEvent_2;
|
|
328
|
-
completion: Promise<
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
/** @public */
|
|
332
|
-
declare interface QwikSerializer {
|
|
333
|
-
_deserialize: typeof _deserialize;
|
|
334
|
-
_serialize: typeof _serialize;
|
|
335
|
-
_verifySerializable: typeof _verifySerializable;
|
|
390
|
+
completion: Promise<QwikRouterCompletion>;
|
|
336
391
|
}
|
|
337
392
|
|
|
338
393
|
/**
|
|
@@ -528,12 +583,11 @@ export declare interface RequestEventCommon<PLATFORM = QwikRouterPlatform> exten
|
|
|
528
583
|
readonly exit: () => AbortMessage;
|
|
529
584
|
}
|
|
530
585
|
|
|
531
|
-
declare interface RequestEventInternal extends RequestEvent
|
|
532
|
-
[RequestEvLoaders]: Record<string, ValueOrPromise<unknown> | undefined>;
|
|
533
|
-
[
|
|
534
|
-
[
|
|
535
|
-
[RequestEvRoute]: LoadedRoute
|
|
536
|
-
[RequestEvQwikSerializer]: QwikSerializer;
|
|
586
|
+
declare interface RequestEventInternal extends Readonly<RequestEvent>, Readonly<RequestEventLoader> {
|
|
587
|
+
readonly [RequestEvLoaders]: Record<string, ValueOrPromise<unknown> | undefined>;
|
|
588
|
+
readonly [RequestEvLoaderSerializationStrategyMap]: Map<string, SerializationStrategy>;
|
|
589
|
+
readonly [RequestEvMode]: ServerRequestMode;
|
|
590
|
+
readonly [RequestEvRoute]: LoadedRoute;
|
|
537
591
|
/**
|
|
538
592
|
* Check if this request is already written to.
|
|
539
593
|
*
|
|
@@ -558,37 +612,38 @@ export declare interface RequestEventLoader<PLATFORM = QwikRouterPlatform> exten
|
|
|
558
612
|
|
|
559
613
|
declare const RequestEvLoaders: unique symbol;
|
|
560
614
|
|
|
561
|
-
declare const
|
|
615
|
+
declare const RequestEvLoaderSerializationStrategyMap: unique symbol;
|
|
562
616
|
|
|
563
|
-
declare const
|
|
617
|
+
declare const RequestEvMode: unique symbol;
|
|
564
618
|
|
|
565
619
|
declare const RequestEvRoute: unique symbol;
|
|
566
620
|
|
|
567
|
-
|
|
621
|
+
/** @internal */
|
|
622
|
+
export declare const RequestEvShareQData = "qData";
|
|
568
623
|
|
|
569
624
|
/** @public */
|
|
570
625
|
export declare type RequestHandler<PLATFORM = QwikRouterPlatform> = (ev: RequestEvent<PLATFORM>) => Promise<void> | void;
|
|
571
626
|
|
|
572
627
|
/**
|
|
573
|
-
* The request handler for QwikRouter. Called by every
|
|
628
|
+
* The request handler for QwikRouter. Called by every adapter.
|
|
574
629
|
*
|
|
575
630
|
* @public
|
|
576
631
|
*/
|
|
577
|
-
export declare function requestHandler<T = unknown>(serverRequestEv: ServerRequestEvent<T>, opts: ServerRenderOptions
|
|
632
|
+
export declare function requestHandler<T = unknown>(serverRequestEv: ServerRequestEvent<T>, opts: ServerRenderOptions): Promise<QwikRouterRun<T> | null>;
|
|
578
633
|
|
|
579
634
|
/** @public */
|
|
580
635
|
declare type ResolvedDocumentHead<FrontMatter extends Record<string, any> = Record<string, unknown>> = Required<DocumentHeadValue<FrontMatter>>;
|
|
581
636
|
|
|
582
637
|
/** @public */
|
|
583
638
|
export declare interface ResolveSyncValue {
|
|
639
|
+
<T, INPUT, OPTIONAL extends boolean>(action: Action<T, INPUT, OPTIONAL>): Awaited<T> | undefined;
|
|
584
640
|
<T>(loader: Loader_2<T>): Awaited<T> extends () => any ? never : Awaited<T>;
|
|
585
|
-
<T>(action: Action<T>): Awaited<T> | undefined;
|
|
586
641
|
}
|
|
587
642
|
|
|
588
643
|
/** @public */
|
|
589
644
|
export declare interface ResolveValue {
|
|
645
|
+
<T, INPUT, OPTIONAL extends boolean>(action: Action<T, INPUT, OPTIONAL>): Promise<T | undefined>;
|
|
590
646
|
<T>(loader: Loader_2<T>): Awaited<T> extends () => any ? never : Promise<T>;
|
|
591
|
-
<T>(action: Action<T>): Promise<T | undefined>;
|
|
592
647
|
}
|
|
593
648
|
|
|
594
649
|
/** @public */
|
|
@@ -597,6 +652,28 @@ export declare class RewriteMessage extends AbortMessage {
|
|
|
597
652
|
constructor(pathname: string);
|
|
598
653
|
}
|
|
599
654
|
|
|
655
|
+
/**
|
|
656
|
+
* Unified route configuration export. Groups head, eTag, and cacheKey with the same resolution
|
|
657
|
+
* rules as DocumentHead: can be a static object or a function receiving DocumentHeadProps.
|
|
658
|
+
*
|
|
659
|
+
* When a module exports `routeConfig`, the separate `head`, `eTag`, and `cacheKey` exports are
|
|
660
|
+
* ignored for that module.
|
|
661
|
+
*
|
|
662
|
+
* @public
|
|
663
|
+
*/
|
|
664
|
+
declare type RouteConfig = RouteConfigValue | ((props: DocumentHeadProps) => RouteConfigValue);
|
|
665
|
+
|
|
666
|
+
/**
|
|
667
|
+
* The value shape returned by a routeConfig export (object form or function return).
|
|
668
|
+
*
|
|
669
|
+
* @public
|
|
670
|
+
*/
|
|
671
|
+
declare interface RouteConfigValue {
|
|
672
|
+
readonly head?: DocumentHeadValue;
|
|
673
|
+
readonly eTag?: ContentModuleETag;
|
|
674
|
+
readonly cacheKey?: CacheKeyFn;
|
|
675
|
+
}
|
|
676
|
+
|
|
600
677
|
/** @public */
|
|
601
678
|
declare interface RouteLocation {
|
|
602
679
|
readonly params: Readonly<Record<string, string>>;
|
|
@@ -638,20 +715,21 @@ declare type ServerErrorCode = 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 5
|
|
|
638
715
|
/** @public */
|
|
639
716
|
export declare interface ServerRenderOptions extends RenderOptions {
|
|
640
717
|
render: Render;
|
|
641
|
-
/** @deprecated
|
|
718
|
+
/** @deprecated Not used */
|
|
642
719
|
qwikCityPlan?: QwikCityPlan;
|
|
720
|
+
/** @deprecated Not used */
|
|
643
721
|
qwikRouterConfig?: QwikRouterConfig;
|
|
644
722
|
/**
|
|
645
723
|
* Protection against cross-site request forgery (CSRF) attacks.
|
|
646
724
|
*
|
|
647
725
|
* When `true`, for every incoming POST, PUT, PATCH, or DELETE form submissions, the request
|
|
648
|
-
* origin is checked to match the server's origin.
|
|
726
|
+
* origin is checked to match the server's origin. `lax-proto` is for SSL-terminating proxies
|
|
649
727
|
*
|
|
650
728
|
* Be careful when disabling this option as it may lead to CSRF attacks.
|
|
651
729
|
*
|
|
652
730
|
* Defaults to `true`.
|
|
653
731
|
*/
|
|
654
|
-
checkOrigin?: boolean;
|
|
732
|
+
checkOrigin?: boolean | 'lax-proto';
|
|
655
733
|
}
|
|
656
734
|
|
|
657
735
|
/**
|
|
@@ -670,10 +748,10 @@ export declare interface ServerRequestEvent<T = unknown> {
|
|
|
670
748
|
}
|
|
671
749
|
|
|
672
750
|
/** @public */
|
|
673
|
-
export declare type ServerRequestMode = '
|
|
751
|
+
export declare type ServerRequestMode = 'static' | 'server';
|
|
674
752
|
|
|
675
753
|
/** @public */
|
|
676
|
-
export declare type ServerResponseHandler<T = any> = (status: number, headers: Headers, cookies: Cookie, resolve: (response: T) => void, requestEv:
|
|
754
|
+
export declare type ServerResponseHandler<T = any> = (status: number, headers: Headers, cookies: Cookie, resolve: (response: T) => void, requestEv: RequestEvent) => WritableStream<Uint8Array>;
|
|
677
755
|
|
|
678
756
|
/** @public */
|
|
679
757
|
declare interface StaticGenerate {
|