mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-05-01 11:42:06 +00:00
## Summary Simplify default scripts. Filtering is still available to users, we can revisit tagging or grouping later. This fixes the issue where we had tests that were in the codebase but never run because they weren't under `/src/components` Also deletes the duplicate litegraph tests and their associated vitest config file. ## Changes - **What**: Test cleanup ## Review Focus ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-5888-Tests-Vitest-configuration-cleanup-2806d73d36508197b800f68f0b028279) by [Unito](https://www.unito.io)
157 lines
3.7 KiB
Markdown
157 lines
3.7 KiB
Markdown
# Setup Repository
|
|
|
|
Bootstrap the ComfyUI Frontend monorepo with all necessary dependencies and verification checks.
|
|
|
|
## Overview
|
|
|
|
This command will:
|
|
1. Install pnpm package manager (if not present)
|
|
2. Install all project dependencies
|
|
3. Verify the project builds successfully
|
|
4. Run unit tests to ensure functionality
|
|
5. Start development server to verify frontend boots correctly
|
|
|
|
## Prerequisites Check
|
|
|
|
First, let's verify the environment:
|
|
|
|
```bash
|
|
# Check Node.js version (should be >= 24)
|
|
node --version
|
|
|
|
# Check if we're in a git repository
|
|
git status
|
|
```
|
|
|
|
## Step 1: Install pnpm
|
|
|
|
```bash
|
|
# Check if pnpm is already installed
|
|
pnpm --version 2>/dev/null || {
|
|
echo "Installing pnpm..."
|
|
npm install -g pnpm
|
|
}
|
|
|
|
# Verify pnpm installation
|
|
pnpm --version
|
|
```
|
|
|
|
## Step 2: Install Dependencies
|
|
|
|
```bash
|
|
# Install all dependencies using pnpm
|
|
echo "Installing project dependencies..."
|
|
pnpm install
|
|
|
|
# Verify node_modules exists and has packages
|
|
ls -la node_modules | head -5
|
|
```
|
|
|
|
## Step 3: Verify Build
|
|
|
|
```bash
|
|
# Run TypeScript type checking
|
|
echo "Running TypeScript checks..."
|
|
pnpm typecheck
|
|
|
|
# Build the project
|
|
echo "Building project..."
|
|
pnpm build
|
|
|
|
# Verify dist folder was created
|
|
ls -la dist/
|
|
```
|
|
|
|
## Step 4: Run Unit Tests
|
|
|
|
```bash
|
|
# Run unit tests
|
|
echo "Running unit tests..."
|
|
pnpm test:unit
|
|
|
|
# If tests fail, show the output and stop
|
|
if [ $? -ne 0 ]; then
|
|
echo "❌ Unit tests failed. Please fix failing tests before continuing."
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ Unit tests passed successfully"
|
|
```
|
|
|
|
## Step 5: Verify Development Server
|
|
|
|
```bash
|
|
# Start development server in background
|
|
echo "Starting development server..."
|
|
pnpm dev &
|
|
SERVER_PID=$!
|
|
|
|
# Wait for server to start (check for port 5173 or similar)
|
|
echo "Waiting for server to start..."
|
|
sleep 10
|
|
|
|
# Check if server is running
|
|
if curl -s http://localhost:5173 > /dev/null 2>&1; then
|
|
echo "✅ Development server started successfully at http://localhost:5173"
|
|
|
|
# Kill the background server
|
|
kill $SERVER_PID
|
|
wait $SERVER_PID 2>/dev/null
|
|
else
|
|
echo "❌ Development server failed to start or is not accessible"
|
|
kill $SERVER_PID 2>/dev/null
|
|
wait $SERVER_PID 2>/dev/null
|
|
exit 1
|
|
fi
|
|
```
|
|
|
|
## Step 6: Final Verification
|
|
|
|
```bash
|
|
# Run linting to ensure code quality
|
|
echo "Running linter..."
|
|
pnpm lint
|
|
|
|
# Show project status
|
|
echo ""
|
|
echo "🎉 Repository setup complete!"
|
|
echo ""
|
|
echo "Available commands:"
|
|
echo " pnpm dev - Start development server"
|
|
echo " pnpm build - Build for production"
|
|
echo " pnpm test:unit - Run unit tests"
|
|
echo " pnpm typecheck - Run TypeScript checks"
|
|
echo " pnpm lint - Run ESLint"
|
|
echo " pnpm format - Format code with Prettier"
|
|
echo ""
|
|
echo "Next steps:"
|
|
echo "1. Run 'pnpm dev' to start developing"
|
|
echo "2. Open http://localhost:5173 in your browser"
|
|
echo "3. Check README.md for additional setup instructions"
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
If any step fails:
|
|
|
|
1. **pnpm installation fails**: Try using `curl -fsSL https://get.pnpm.io/install.sh | sh -`
|
|
2. **Dependencies fail to install**: Try clearing cache with `pnpm store prune` and retry
|
|
3. **Build fails**: Check for TypeScript errors and fix them first
|
|
4. **Tests fail**: Review test output and fix failing tests
|
|
5. **Dev server fails**: Check if port 5173 is already in use
|
|
|
|
## Manual Verification Steps
|
|
|
|
After running the setup, manually verify:
|
|
|
|
1. **Dependencies installed**: `ls node_modules | wc -l` should show many packages
|
|
2. **Build artifacts**: `ls dist/` should show built files
|
|
3. **Server accessible**: Open http://localhost:5173 in browser
|
|
4. **Hot reload works**: Edit a file and see changes reflect
|
|
|
|
## Environment Requirements
|
|
|
|
- Node.js >= 24
|
|
- Git repository
|
|
- Internet connection for package downloads
|
|
- Available ports (typically 5173 for dev server) |