MCPcopy Create free account
hub / github.com/TanStack/cli / createTemplateRendererSource

Function createTemplateRendererSource

packages/create/scripts/generate-manifest.mjs:255–397  ·  view source on GitHub ↗
(renderers = templateRenderers)

Source from the content-addressed store, hash-verified

253}
254
255function createTemplateRendererSource(renderers = templateRenderers) {
256 const entries = Array.from(renderers.entries()).sort(([a], [b]) =>
257 a.localeCompare(b),
258 )
259
260 const functions = entries
261 .map(([key, body]) => {
262 const functionName = `__render_${key.replace(/[^a-zA-Z0-9_$]/g, '_')}`
263 return `function ${functionName}(context: TemplateRenderContext) {
264 const {
265 packageManager,
266 projectName,
267 typescript,
268 tailwind,
269 js,
270 jsx,
271 fileRouter,
272 codeRouter,
273 routerOnly,
274 includeExamples,
275 addOnEnabled,
276 addOnOption,
277 addOns,
278 integrations,
279 routes,
280 getPackageManagerAddScript,
281 getPackageManagerRunScript,
282 getPackageManagerExecuteScript,
283 relativePath,
284 integrationImportContent,
285 integrationImportCode,
286 renderTemplate,
287 ignoreFile,
288 } = context
289 let __output = ''
290 const __append = (value: unknown) => {
291 if (value !== undefined && value !== null) {
292 __output += String(value)
293 }
294 }
295${body}
296 return __output
297}`
298 })
299 .join('\n\n')
300
301 const mapEntries = entries
302 .map(([key]) => {
303 const functionName = `__render_${key.replace(/[^a-zA-Z0-9_$]/g, '_')}`
304 return ` ${JSON.stringify(key)}: ${functionName},`
305 })
306 .join('\n')
307
308 return `type TemplateRecord = Record<string, any>
309type TemplateAddOn = TemplateRecord & {
310 integrations?: Array<TemplateRecord>
311 routes?: Array<TemplateRecord>
312}

Callers 2

writeWorkerManifestFunction · 0.85

Calls 1

replaceMethod · 0.65

Tested by

no test coverage detected