## Summary - **Fix CI build failure**: Auth0Client crashes during Next.js prerendering when env vars aren't set. Returns a no-op stub (`getSession → null`) when domain is missing — semantically correct for static generation - **Lazy-load markdown libs (~260kb)**: ReactMarkdown, remarkGfm, and react-syntax-highlighter were eagerly imported in monaco-diff-viewer but only rendered when user expands "Generated Tests". Extracted into a dynamic component - **Parallelize repo detail query**: `getRepositoryById` ran the activity count sequentially after the repo lookup. Since `repoId` is already available, all three queries now run in parallel ## Test plan - [ ] CI `build` check passes (was failing since #2598) - [ ] Trace page still renders generated tests correctly when expanded - [ ] Repository detail page loads correctly with activity status
1.9 KiB
1.9 KiB
CodeFlash AI
Overview
CodeFlash AI is a JavaScript/TypeScript monorepo that provides a scalable and modular architecture for web applications, focusing on efficient code sharing and robust development practices.
Project Structure
js/
├── common/ # Shared code and database schema
├── cf-api/ # Backend API service
├── cf-webapp/ # Next.js web application
├── VSC-Extension/ # VS Code extension
└── pnpm-workspace.yaml
Prerequisites
- Node.js (v20+)
- pnpm (v10+):
npm install -g pnpm - Prisma CLI (installed as devDependency)
Setup
1. Clone the Repository
git clone https://github.com/your-org/codeflash-ai.git
cd codeflash-ai/js
2. Install Dependencies
# Install all workspace dependencies from js/
pnpm install
3. Database Configuration
# Generate Prisma client and run migrations
cd common
pnpm prisma generate
pnpm prisma migrate dev
Development Workflow
Start Development Servers
# From js/ workspace root:
pnpm --filter cf-api dev
pnpm --filter cf-webapp dev
Build
# Build individual packages
pnpm --filter cf-webapp build
pnpm --filter cf-api build
pnpm --filter @codeflash-ai/common build
Key Components
Common Package (@codeflash-ai/common)
- Shared TypeScript utilities
- Prisma database schema
- Reusable functions across projects
- Referenced as
"workspace:*"by cf-api and cf-webapp
Usage Example
import { createOrUpdateUser } from "@codeflash-ai/common"
Best Practices
- Always install from the workspace root (
js/) - Keep shared logic in the
commonpackage - Use TypeScript for type safety
- Follow existing code structure
- Never commit sensitive data or build artifacts
Publishing common Package
cd common
pnpm build
pnpm publish