Home / Function/ buildExamplesIndex() — ui Function Reference

buildExamplesIndex() — ui Function Reference

Architecture documentation for the buildExamplesIndex() function in build-examples.ts from the ui codebase.

Entity Profile

Dependency Diagram

graph TD
  4c408f68_ef82_e1e9_2c48_b35923e87a74["buildExamplesIndex()"]
  3bb184bf_3ef5_bddd_de88_1acfdc78bdf5["build-examples.ts"]
  4c408f68_ef82_e1e9_2c48_b35923e87a74 -->|defined in| 3bb184bf_3ef5_bddd_de88_1acfdc78bdf5
  style 4c408f68_ef82_e1e9_2c48_b35923e87a74 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

apps/v4/scripts/build-examples.ts lines 7–80

async function buildExamplesIndex() {
  const cwd = process.cwd()
  const examplesDir = path.join(cwd, "examples")

  console.log("📋 Generating examples/__index__.tsx...")

  // Process all bases in parallel.
  const baseResults = await Promise.all(
    Array.from(BASES).map(async (base) => {
      const baseDir = path.join(examplesDir, base.name)

      try {
        await fs.access(baseDir)
      } catch {
        console.log(`   Skipping ${base.name} - directory does not exist`)
        return null
      }

      const allEntries = await fs.readdir(baseDir, { withFileTypes: true })
      const files = allEntries
        .filter((entry) => entry.isFile() && entry.name.endsWith(".tsx"))
        .map((entry) => entry.name)
        .sort()

      console.log(`   Found ${files.length} demos for ${base.name}`)

      return { base, files }
    })
  )

  let index = `// @ts-nocheck
// This file is autogenerated by scripts/build-examples-index.mts
// Do not edit this file directly.
import * as React from "react"

export const ExamplesIndex: Record<string, Record<string, any>> = {`

  for (const result of baseResults) {
    if (!result) continue

    const { base, files } = result

    index += `
  "${base.name}": {`

    for (const file of files) {
      const name = file.replace(/\.tsx$/, "")

      index += `
    "${name}": {
      name: "${name}",
      filePath: "examples/${base.name}/${file}",
      component: React.lazy(async () => {
        const mod = await import("./${base.name}/${name}")
        const exportName = Object.keys(mod).find(key => typeof mod[key] === 'function' || typeof mod[key] === 'object') || "${name}"
        return { default: mod.default || mod[exportName] }
      }),
    },`
    }

    index += `
  },`
  }

  index += `
}
`

  const indexPath = path.join(examplesDir, "__index__.tsx")
  await rimraf(indexPath)
  await fs.writeFile(indexPath, index)

  console.log(`\n✅ Generated examples/__index__.tsx`)
}

Subdomains

Frequently Asked Questions

What does buildExamplesIndex() do?
buildExamplesIndex() is a function in the ui codebase, defined in apps/v4/scripts/build-examples.ts.
Where is buildExamplesIndex() defined?
buildExamplesIndex() is defined in apps/v4/scripts/build-examples.ts at line 7.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free