Skip to content

Commit

Permalink
fix: dev-server menu.md rendering (QwikDev#2847)
Browse files Browse the repository at this point in the history
  • Loading branch information
adamdbradley authored Feb 6, 2023
1 parent 4c55c7b commit aa07a09
Show file tree
Hide file tree
Showing 5 changed files with 143 additions and 105 deletions.
2 changes: 1 addition & 1 deletion packages/docs/adaptors/cloudflare-pages/vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ import { extendConfig } from '@builder.io/qwik-city/vite';
import baseConfig from '../../vite.config';

export default extendConfig(baseConfig, () => {
console.log(process.env.CF_PAGES_BRANCH);
return {
build: {
ssr: true,
rollupOptions: {
input: ['src/entry.cloudflare-pages.tsx', '@qwik-city-plan'],
},
minify: false,
},
plugins: [
cloudflarePagesAdaptor({
Expand Down
12 changes: 6 additions & 6 deletions packages/docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,17 @@
"start": "pnpm dev"
},
"devDependencies": {
"@algolia/autocomplete-core": "1.7.3",
"@algolia/autocomplete-shared": "1.7.3",
"@algolia/client-search": "4.14.2",
"@algolia/autocomplete-core": "1.7.4",
"@algolia/autocomplete-shared": "1.7.4",
"@algolia/client-search": "4.14.3",
"@builder.io/partytown": "0.7.5",
"@builder.io/qwik": "BuilderIO/qwik-build#8e387d6f7e121b852019e77a932921dd8659e11c",
"@builder.io/qwik-city": "BuilderIO/qwik-city-build#ddc5dd3dad9713d26c46ac360d9fc0c6104cc560",
"@builder.io/sdk-qwik": "0.1.6",
"@docsearch/css": "3.3.2",
"@docsearch/css": "3.3.3",
"@types/node-fetch": "2.6.2",
"@types/prismjs": "^1.26.0",
"algoliasearch": "4.14.2",
"algoliasearch": "4.14.3",
"autoprefixer": "10.4.13",
"fflate": "0.7.4",
"gray-matter": "4.0.3",
Expand All @@ -41,7 +41,7 @@
"tailwindcss": "3.2.4",
"tsm": "2.3.0",
"typescript": "4.9.5",
"undici": "5.16.0",
"undici": "5.18.0",
"uvu": "0.5.6",
"vite": "4.0.4",
"wrangler": "^2.9.0"
Expand Down
36 changes: 33 additions & 3 deletions packages/qwik-city/buildtime/vite/dev-server.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,16 @@
import type { ViteDevServer, Connect } from 'vite';
import type { ServerResponse } from 'node:http';
import type { BuildContext } from '../types';
import type { LoadedRoute, PathParams, RequestEvent, RouteModule } from '../../runtime/src/types';
import type {
ContentMenu,
LoadedRoute,
MenuData,
MenuModule,
MenuModuleLoader,
PathParams,
RequestEvent,
RouteModule,
} from '../../runtime/src/types';
import type { QwikViteDevResponse } from '@builder.io/qwik/optimizer';
import fs from 'node:fs';
import { join, resolve } from 'node:path';
Expand All @@ -14,7 +23,7 @@ import { getQwikCityServerData } from '../../middleware/request-handler/response
import { updateBuildContext } from '../build';
import { getErrorHtml } from '../../middleware/request-handler/error-handler';
import { getExtension, normalizePath } from '../../utils/fs';
import { getPathParams } from '../../runtime/src/routing';
import { getMenuLoader, getPathParams } from '../../runtime/src/routing';
import { fromNodeHttp } from '../../middleware/node/http';
import { resolveRequestHandlers } from '../../middleware/request-handler/resolve-request-handlers';
import { formatError } from './format-error';
Expand Down Expand Up @@ -121,13 +130,34 @@ export function ssrDevMiddleware(ctx: BuildContext, server: ViteDevServer) {
return qwikRenderPromise;
}
};
const loadedRoute = [params, routeModules, undefined, undefined] satisfies LoadedRoute;

let menu: ContentMenu | undefined = undefined;
const menus = ctx.menus.map((buildMenu) => {
const menuLoader: MenuModuleLoader = async () => {
const m = await server.ssrLoadModule(buildMenu.filePath);
const menuModule: MenuModule = {
default: m.default,
};
return menuModule;
};
const menuData: MenuData = [buildMenu.pathname, menuLoader];
return menuData;
});

const menuLoader = getMenuLoader(menus, url.pathname);
if (menuLoader) {
const menuModule = await menuLoader();
menu = menuModule?.default;
}

const loadedRoute = [params, routeModules, menu, undefined] satisfies LoadedRoute;
const requestHandlers = resolveRequestHandlers(
serverPlugins,
loadedRoute,
req.method ?? 'GET',
renderFn
);

if (requestHandlers.length > 0) {
const serverRequestEv = await fromNodeHttp(url, req, res, 'dev');

Expand Down
9 changes: 5 additions & 4 deletions packages/qwik-city/runtime/src/qwik-city-component.tsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import {
component$,
getLocale,
JSXNode,
noSerialize,
Slot,
useContextProvider,
useEnvData,
getLocale,
useServerData,
useStore,
useSignal,
$,
useTask$,
$,
_weakSerialize,
} from '@builder.io/qwik';
import { loadRoute } from './routing';
Expand Down Expand Up @@ -72,7 +72,7 @@ export const QwikCityProvider = component$<QwikCityProps>(() => {
throw new Error(`Missing Qwik City Env Data`);
}

const urlEnv = useEnvData<string>('url');
const urlEnv = useServerData<string>('url');
if (!urlEnv) {
throw new Error(`Missing Qwik URL Env Data`);
}
Expand Down Expand Up @@ -171,6 +171,7 @@ export const QwikCityProvider = component$<QwikCityProps>(() => {
}
loadedRoute = await loadRoutePromise;
}

if (loadedRoute) {
const [params, mods, menu] = loadedRoute;
const pathname = url.pathname;
Expand Down
Loading

0 comments on commit aa07a09

Please sign in to comment.