UNPKG

@mongez/gnz

Version:

Generator Z, the next generation of scaffolding tools.

57 lines (51 loc) 1.78 kB
import'os';import {format}from'../../../utils/prettifier.js';async function gnQwikPage(options) { // const { name: componentName, imports: incomingImports = [], withRouteLoader = false, withHead = false, renderContent = ` <> <h1>Hello, World!</h1> </> `, } = options; const imports = incomingImports; imports.unshift("import { component$ } from '@builder.io/qwik';"); let routeLoaderContent = ""; let beforeContent = ""; if (withRouteLoader) { imports.push(`import { routeLoader$ } from '@builder.io/qwik-city';`); routeLoaderContent = ` export const use${componentName} = routeLoader$(async (requestEvent) => { // This code runs only on the server, after every navigation // your logic goes here }); `; beforeContent = ` const data = use${componentName}(); `; } let headContent = ""; if (withHead) { imports.push(`import type { DocumentHead } from '@builder.io/qwik-city';`); const param = withRouteLoader ? "{ resolveValue }" : ""; headContent = ` export const head: DocumentHead = (${param}) => { ${withRouteLoader ? `const data = resolveValue(use${componentName});` : ""} return { title: "${componentName}", // other meta data goes here }; }; `; } const importsString = imports.join("\n"); const content = ` ${importsString} ${routeLoaderContent} export default component$(() => { ${beforeContent} return ( ${renderContent} ); }); ${headContent} `; return await format.typescript(content); }export{gnQwikPage};//# sourceMappingURL=template.js.map