@qwik.dev/router 2.0.0-beta.35 → 2.0.0-beta.36
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.
|
@@ -227,16 +227,22 @@ function viteAdapter(opts) {
|
|
|
227
227
|
`if (args.includes('--quiet')) ssgOpts.log = 'quiet';`,
|
|
228
228
|
`if (args.includes('--debug')) ssgOpts.log = 'debug';`,
|
|
229
229
|
``,
|
|
230
|
-
|
|
231
|
-
`
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
`
|
|
235
|
-
`
|
|
236
|
-
`
|
|
237
|
-
`
|
|
238
|
-
`
|
|
239
|
-
`
|
|
230
|
+
// Fire-and-forget instead of top-level await. On the worker/edge SSR target Vite
|
|
231
|
+
// inlines dynamic imports, and Rollup then reads the inlined `./system` namespace
|
|
232
|
+
// before it is initialized across a top-level await. See rollup/rollup#4166.
|
|
233
|
+
// runSsg/startWorker keep the process alive (worker handles) and call process.exit.
|
|
234
|
+
`const ssgRun = isMainThread`,
|
|
235
|
+
` ? runSsg({`,
|
|
236
|
+
` render,`,
|
|
237
|
+
` qwikRouterConfig,`,
|
|
238
|
+
` workerFilePath: new URL(import.meta.url).href,`,
|
|
239
|
+
` ...ssgOpts,`,
|
|
240
|
+
` })`,
|
|
241
|
+
` : startWorker({ render, qwikRouterConfig });`,
|
|
242
|
+
`ssgRun.catch((err) => {`,
|
|
243
|
+
` console.error(err);`,
|
|
244
|
+
` process.exit(1);`,
|
|
245
|
+
`});`
|
|
240
246
|
].join("\n");
|
|
241
247
|
},
|
|
242
248
|
buildStart() {
|
|
@@ -16,9 +16,6 @@ const useDocumentHead = () => useContext(DocumentHeadContext);
|
|
|
16
16
|
const useLocation = () => useContext(RouteLocationContext);
|
|
17
17
|
const useNavigate = () => useContext(RouteNavigateContext);
|
|
18
18
|
const usePreventNavigateQrl = (fn) => {
|
|
19
|
-
if (!__EXPERIMENTAL__.preventNavigate) {
|
|
20
|
-
throw new Error('usePreventNavigate$ is experimental and must be enabled with `experimental: ["preventNavigate"]` in the `qwikVite` plugin.');
|
|
21
|
-
}
|
|
22
19
|
const registerPreventNav = useContext(RoutePreventNavigateContext);
|
|
23
20
|
useVisibleTaskQrl(/* @__PURE__ */ inlinedQrl(() => {
|
|
24
21
|
const fn2 = _captures[0], registerPreventNav2 = _captures[1];
|
|
@@ -1630,6 +1630,9 @@ The request origin "${inputOrigin}" does not match the server origin "${origin}"
|
|
|
1630
1630
|
const result = await render({
|
|
1631
1631
|
base: requestEv.basePathname + "build/",
|
|
1632
1632
|
stream,
|
|
1633
|
+
streaming: isStatic ? {
|
|
1634
|
+
outOfOrder: false
|
|
1635
|
+
} : void 0,
|
|
1633
1636
|
serverData,
|
|
1634
1637
|
containerAttributes: {
|
|
1635
1638
|
["q:render"]: isStatic ? "static" : "",
|
|
@@ -1809,6 +1812,7 @@ function getQwikRouterServerDataWithDeps(deps, requestEv) {
|
|
|
1809
1812
|
return {
|
|
1810
1813
|
url: reconstructedUrl.href,
|
|
1811
1814
|
requestHeaders,
|
|
1815
|
+
renderMode: deps.getRequestMode(requestEv),
|
|
1812
1816
|
locale: locale(),
|
|
1813
1817
|
nonce,
|
|
1814
1818
|
containerAttributes: {
|
|
@@ -1842,6 +1846,7 @@ const responsePageDeps = {
|
|
|
1842
1846
|
RequestRouteName,
|
|
1843
1847
|
getRequestLoaders,
|
|
1844
1848
|
getRequestLoaderSerializationStrategyMap,
|
|
1849
|
+
getRequestMode,
|
|
1845
1850
|
getRequestRoute
|
|
1846
1851
|
};
|
|
1847
1852
|
function getQwikRouterServerData(...args) {
|
package/lib/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ import { QRLEventHandlerMulti } from '@qwik.dev/core';
|
|
|
13
13
|
import { QwikIntrinsicElements } from '@qwik.dev/core';
|
|
14
14
|
import { QwikJSX } from '@qwik.dev/core';
|
|
15
15
|
import { Render } from '@qwik.dev/core/server';
|
|
16
|
-
import {
|
|
16
|
+
import { RenderToStreamOptions } from '@qwik.dev/core/server';
|
|
17
17
|
import { RequestEvent } from '@qwik.dev/router/middleware/request-handler';
|
|
18
18
|
import { RequestEventAction } from '@qwik.dev/router/middleware/request-handler';
|
|
19
19
|
import { RequestEventBase } from '@qwik.dev/router/middleware/request-handler';
|
|
@@ -754,12 +754,12 @@ export declare interface QwikRouterProps {
|
|
|
754
754
|
export declare const QwikRouterProvider: Component<QwikRouterProps>;
|
|
755
755
|
|
|
756
756
|
/** @public */
|
|
757
|
-
export declare type RendererOptions = Omit<
|
|
757
|
+
export declare type RendererOptions = Omit<RenderToStreamOptions, 'serverData'> & {
|
|
758
758
|
serverData: ServerData;
|
|
759
759
|
};
|
|
760
760
|
|
|
761
761
|
/** @public */
|
|
762
|
-
export declare type RendererOutputOptions = Omit<
|
|
762
|
+
export declare type RendererOutputOptions = Omit<RenderToStreamOptions, 'serverData'> & {
|
|
763
763
|
serverData: ServerData & {
|
|
764
764
|
documentHead?: DocumentHeadValue;
|
|
765
765
|
} & Record<string, unknown>;
|
|
@@ -911,6 +911,7 @@ declare interface ServerConfig {
|
|
|
911
911
|
export declare type ServerData = {
|
|
912
912
|
url: string;
|
|
913
913
|
requestHeaders: Record<string, string>;
|
|
914
|
+
renderMode: 'static' | 'server';
|
|
914
915
|
locale: string | undefined;
|
|
915
916
|
nonce: string | undefined;
|
|
916
917
|
containerAttributes: Record<string, string> & {
|
package/lib/index.qwik.mjs
CHANGED
|
@@ -414,9 +414,6 @@ const useQwikRouter = (props) => {
|
|
|
414
414
|
}
|
|
415
415
|
const serverHead = useServerData("documentHead");
|
|
416
416
|
const manifestHash = useServerData("containerAttributes")?.["q:manifest-hash"];
|
|
417
|
-
if (env.ev.originalUrl.pathname !== env.ev.url.pathname && !__EXPERIMENTAL__.enableRequestRewrite) {
|
|
418
|
-
throw new Error(`enableRequestRewrite is an experimental feature and is not enabled. Please enable the feature flag by adding \`experimental: ["enableRequestRewrite"]\` to your qwikVite plugin options.`);
|
|
419
|
-
}
|
|
420
417
|
const url = new URL(urlEnv);
|
|
421
418
|
const routeLocationTarget = {
|
|
422
419
|
url,
|
|
@@ -1656,7 +1653,15 @@ function omitProps(obj, keys) {
|
|
|
1656
1653
|
const createRenderer = (getOptions) => {
|
|
1657
1654
|
return (opts) => {
|
|
1658
1655
|
const { jsx, options } = getOptions(opts);
|
|
1659
|
-
|
|
1656
|
+
const isStatic = opts.serverData.renderMode === "static";
|
|
1657
|
+
const renderOptions = isStatic ? {
|
|
1658
|
+
...options,
|
|
1659
|
+
streaming: {
|
|
1660
|
+
...options.streaming,
|
|
1661
|
+
outOfOrder: false
|
|
1662
|
+
}
|
|
1663
|
+
} : options;
|
|
1664
|
+
return renderToStream(jsx, renderOptions);
|
|
1660
1665
|
};
|
|
1661
1666
|
};
|
|
1662
1667
|
|
|
@@ -603,6 +603,7 @@ function getQwikRouterServerDataWithDeps(deps, requestEv) {
|
|
|
603
603
|
return {
|
|
604
604
|
url: reconstructedUrl.href,
|
|
605
605
|
requestHeaders,
|
|
606
|
+
renderMode: deps.getRequestMode(requestEv),
|
|
606
607
|
locale: locale(),
|
|
607
608
|
nonce,
|
|
608
609
|
containerAttributes: {
|
|
@@ -636,6 +637,7 @@ const responsePageDeps = {
|
|
|
636
637
|
RequestRouteName,
|
|
637
638
|
getRequestLoaders,
|
|
638
639
|
getRequestLoaderSerializationStrategyMap,
|
|
640
|
+
getRequestMode,
|
|
639
641
|
getRequestRoute
|
|
640
642
|
};
|
|
641
643
|
function getQwikRouterServerData(...args) {
|
|
@@ -1093,6 +1095,9 @@ The request origin "${inputOrigin}" does not match the server origin "${origin}"
|
|
|
1093
1095
|
const result = await render({
|
|
1094
1096
|
base: requestEv.basePathname + "build/",
|
|
1095
1097
|
stream,
|
|
1098
|
+
streaming: isStatic ? {
|
|
1099
|
+
outOfOrder: false
|
|
1100
|
+
} : void 0,
|
|
1096
1101
|
serverData,
|
|
1097
1102
|
containerAttributes: {
|
|
1098
1103
|
["q:render"]: isStatic ? "static" : "",
|
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.36",
|
|
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.36"
|
|
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": ">=6 <9",
|
|
172
|
-
"@qwik.dev/core": "^2.0.0-beta.
|
|
172
|
+
"@qwik.dev/core": "^2.0.0-beta.36"
|
|
173
173
|
},
|
|
174
174
|
"publishConfig": {
|
|
175
175
|
"access": "public"
|