@qwik.dev/router 2.0.0-beta.25 → 2.0.0-beta.27
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/lib/index.qwik.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx, Fragment, jsxs } from '@qwik.dev/core/jsx-runtime';
|
|
2
|
-
import { component$, useErrorBoundary, useOnWindow, $, Slot, createContextId, useContext, implicit$FirstArg, noSerialize,
|
|
2
|
+
import { component$, useErrorBoundary, useOnWindow, $, Slot, createContextId, useContext, implicit$FirstArg, useVisibleTask$, noSerialize, useServerData, useSignal, untrack, sync$, isDev, withLocale, event$, isServer, useStyles$, useStore, isBrowser, useContextProvider, useTask$, getLocale, jsx as jsx$1, SkipRender, createElement } from '@qwik.dev/core';
|
|
3
3
|
import { g as getClientNavPath, s as shouldPreload, p as preloadRouteBundles, l as loadClientData, i as isPromise, a as isSamePath, c as createLoaderSignal, t as toUrl, b as isSameOrigin, d as loadRoute, D as DEFAULT_LOADERS_SERIALIZATION_STRATEGY, C as CLIENT_DATA_CACHE, Q as Q_ROUTE, e as clientNavigate, f as QFN_KEY, h as QACTION_KEY, j as QDATA_KEY } from './chunks/routing.qwik.mjs';
|
|
4
4
|
import * as qwikRouterConfig from '@qwik-router-config';
|
|
5
5
|
import { _getContextContainer, SerializerSymbol, _UNINITIALIZED, _hasStoreEffects, forceStoreEffects, _waitUntilRendered, _getContextHostElement, _getContextEvent, _serialize, _deserialize, _resolveContextWithoutSequentialScope } from '@qwik.dev/core/internal';
|
|
@@ -596,6 +596,11 @@ const useQwikRouter = (props) => {
|
|
|
596
596
|
window._qRouterScrollEnabled = true;
|
|
597
597
|
}
|
|
598
598
|
}
|
|
599
|
+
if (dest.href !== routeLocation.url.href) {
|
|
600
|
+
const newUrl = new URL(dest.href);
|
|
601
|
+
routeInternal.value.dest = newUrl;
|
|
602
|
+
routeLocation.url = newUrl;
|
|
603
|
+
}
|
|
599
604
|
return;
|
|
600
605
|
}
|
|
601
606
|
routeInternal.value = {
|
|
@@ -689,7 +689,7 @@ export declare interface ServerRequestEvent<T = unknown> {
|
|
|
689
689
|
}
|
|
690
690
|
|
|
691
691
|
/** @public */
|
|
692
|
-
export declare type ServerRequestMode = '
|
|
692
|
+
export declare type ServerRequestMode = 'static' | 'server';
|
|
693
693
|
|
|
694
694
|
/** @public */
|
|
695
695
|
export declare type ServerResponseHandler<T = any> = (status: number, headers: Headers, cookies: Cookie, resolve: (response: T) => void, requestEv: RequestEventInternal) => WritableStream<Uint8Array>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isServer } from '@qwik.dev/core/build';
|
|
2
2
|
import { i as isPromise, j as QDATA_KEY, Q as Q_ROUTE, f as QFN_KEY, k as QLOADER_KEY, h as QACTION_KEY, d as loadRoute } from '../../chunks/routing.qwik.mjs';
|
|
3
3
|
import { inlinedQrl } from '@qwik.dev/core';
|
|
4
|
-
import { _serialize, _UNINITIALIZED, _deserialize, _verifySerializable } from '@qwik.dev/core/internal';
|
|
4
|
+
import { _serialize, isDev, _UNINITIALIZED, _deserialize, _verifySerializable } from '@qwik.dev/core/internal';
|
|
5
5
|
import { L as LoadedRouteProp } from '../../chunks/types.qwik.mjs';
|
|
6
6
|
import { _asyncRequestStore as _asyncRequestStore$1, ServerError as ServerError$1, RedirectMessage as RedirectMessage$1, RewriteMessage as RewriteMessage$1, AbortMessage as AbortMessage$1 } from '@qwik.dev/router/middleware/request-handler';
|
|
7
7
|
import { g as getErrorHtml, m as minimalHtmlResponse } from '../../chunks/error-handler.mjs';
|
|
@@ -343,7 +343,7 @@ async function runNext(requestEv, rebuildRouteInfo, resolve) {
|
|
|
343
343
|
}
|
|
344
344
|
return e;
|
|
345
345
|
}
|
|
346
|
-
if (
|
|
346
|
+
if (!isDev) {
|
|
347
347
|
try {
|
|
348
348
|
if (!requestEv.headersSent) {
|
|
349
349
|
requestEv.headers.set("content-type", "text/html; charset=utf-8");
|
|
@@ -528,8 +528,7 @@ function createRequestEvent(serverRequestEv, loadedRoute, requestHandlers, baseP
|
|
|
528
528
|
);
|
|
529
529
|
}
|
|
530
530
|
if (loaders[id] === _UNINITIALIZED) {
|
|
531
|
-
|
|
532
|
-
await getRouteLoaderPromise(loaderOrAction, loaders, requestEv, isDev);
|
|
531
|
+
await getRouteLoaderPromise(loaderOrAction, loaders, requestEv);
|
|
533
532
|
}
|
|
534
533
|
}
|
|
535
534
|
return loaders[id];
|
|
@@ -577,7 +576,10 @@ function createRequestEvent(serverRequestEv, loadedRoute, requestHandlers, baseP
|
|
|
577
576
|
rewrite: (pathname2) => {
|
|
578
577
|
check();
|
|
579
578
|
if (pathname2.startsWith("http")) {
|
|
580
|
-
throw new
|
|
579
|
+
throw new ServerError$1(
|
|
580
|
+
400,
|
|
581
|
+
isDev ? "Rewrite does not support absolute urls" : "Bad Request"
|
|
582
|
+
);
|
|
581
583
|
}
|
|
582
584
|
sharedMap.set(RequestEvIsRewrite, true);
|
|
583
585
|
return exit(new RewriteMessage$1(pathname2.replace(/\/+/g, "/")));
|
|
@@ -618,7 +620,7 @@ function createRequestEvent(serverRequestEv, loadedRoute, requestHandlers, baseP
|
|
|
618
620
|
},
|
|
619
621
|
getWritableStream: () => {
|
|
620
622
|
if (writableStream === null) {
|
|
621
|
-
if (
|
|
623
|
+
if (isDev) {
|
|
622
624
|
const serverTiming = sharedMap.get(RequestEvShareServerTiming);
|
|
623
625
|
if (serverTiming) {
|
|
624
626
|
headers.set(
|
|
@@ -879,7 +881,6 @@ function actionsMiddleware(routeActions) {
|
|
|
879
881
|
}
|
|
880
882
|
const { method } = requestEv;
|
|
881
883
|
const loaders = getRequestLoaders(requestEv);
|
|
882
|
-
const isDev = getRequestMode(requestEv) === "dev";
|
|
883
884
|
if (isDev && method === "GET") {
|
|
884
885
|
if (requestEv.query.has(QACTION_KEY)) {
|
|
885
886
|
console.warn(
|
|
@@ -900,7 +901,7 @@ function actionsMiddleware(routeActions) {
|
|
|
900
901
|
`Expected request data for the action id ${selectedActionId} to be an object`
|
|
901
902
|
);
|
|
902
903
|
}
|
|
903
|
-
const result = await runValidators(requestEv, action.__validators, data
|
|
904
|
+
const result = await runValidators(requestEv, action.__validators, data);
|
|
904
905
|
if (!result.success) {
|
|
905
906
|
loaders[selectedActionId] = requestEv.fail(result.status ?? 500, result.error);
|
|
906
907
|
} else {
|
|
@@ -927,23 +928,21 @@ function loadersMiddleware(routeLoaders) {
|
|
|
927
928
|
return;
|
|
928
929
|
}
|
|
929
930
|
const loaders = getRequestLoaders(requestEv);
|
|
930
|
-
const isDev = getRequestMode(requestEv) === "dev";
|
|
931
931
|
if (routeLoaders.length > 0) {
|
|
932
932
|
const resolvedLoadersPromises = routeLoaders.map(
|
|
933
|
-
(loader) => getRouteLoaderPromise(loader, loaders, requestEv
|
|
933
|
+
(loader) => getRouteLoaderPromise(loader, loaders, requestEv)
|
|
934
934
|
);
|
|
935
935
|
await Promise.all(resolvedLoadersPromises);
|
|
936
936
|
}
|
|
937
937
|
};
|
|
938
938
|
}
|
|
939
|
-
async function getRouteLoaderPromise(loader, loaders, requestEv
|
|
939
|
+
async function getRouteLoaderPromise(loader, loaders, requestEv) {
|
|
940
940
|
const loaderId = loader.__id;
|
|
941
941
|
loaders[loaderId] = runValidators(
|
|
942
942
|
requestEv,
|
|
943
943
|
loader.__validators,
|
|
944
|
-
void 0
|
|
944
|
+
void 0
|
|
945
945
|
// data
|
|
946
|
-
isDev
|
|
947
946
|
).then((res) => {
|
|
948
947
|
if (res.success) {
|
|
949
948
|
if (isDev) {
|
|
@@ -973,7 +972,7 @@ async function getRouteLoaderPromise(loader, loaders, requestEv, isDev) {
|
|
|
973
972
|
loadersSerializationStrategy.set(loaderId, loader.__serializationStrategy);
|
|
974
973
|
return loaders[loaderId];
|
|
975
974
|
}
|
|
976
|
-
async function runValidators(requestEv, validators, data
|
|
975
|
+
async function runValidators(requestEv, validators, data) {
|
|
977
976
|
let lastResult = {
|
|
978
977
|
success: true,
|
|
979
978
|
data
|
|
@@ -1005,7 +1004,6 @@ async function runServerFunction(ev) {
|
|
|
1005
1004
|
const serverFnHash = ev.query.get(QFN_KEY);
|
|
1006
1005
|
if (serverFnHash && ev.request.headers.get("X-QRL") === serverFnHash && ev.request.headers.get("Content-Type") === "application/qwik-json") {
|
|
1007
1006
|
ev.exit();
|
|
1008
|
-
const isDev = getRequestMode(ev) === "dev";
|
|
1009
1007
|
const data = await ev.parseBody();
|
|
1010
1008
|
if (!Array.isArray(data) || !(Array.isArray(data[0]) || data[0] === void 0)) {
|
|
1011
1009
|
throw ev.error(500, "Invalid request");
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qwik.dev/router",
|
|
3
3
|
"description": "The router for Qwik.",
|
|
4
|
-
"version": "2.0.0-beta.
|
|
4
|
+
"version": "2.0.0-beta.27",
|
|
5
5
|
"bugs": "https://github.com/QwikDev/qwik/issues",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@azure/functions": "3.5.1",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"tsm": "2.3.0",
|
|
41
41
|
"typescript": "5.9.3",
|
|
42
42
|
"uvu": "0.5.6",
|
|
43
|
-
"@qwik.dev/core": "2.0.0-beta.
|
|
43
|
+
"@qwik.dev/core": "2.0.0-beta.27"
|
|
44
44
|
},
|
|
45
45
|
"engines": {
|
|
46
46
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
|
@@ -169,7 +169,7 @@
|
|
|
169
169
|
"main": "./lib/index.qwik.mjs",
|
|
170
170
|
"peerDependencies": {
|
|
171
171
|
"vite": ">=5 <8",
|
|
172
|
-
"@qwik.dev/core": "^2.0.0-beta.
|
|
172
|
+
"@qwik.dev/core": "^2.0.0-beta.27"
|
|
173
173
|
},
|
|
174
174
|
"publishConfig": {
|
|
175
175
|
"access": "public"
|