📚 Documentation
Usage instructions for running, editing and building the project and it's apps
Getting Started (From Source)
git clone [email protected]:lissy93/framework-benchmarks.git
cd framework-benchmarks
npm install
pip install -r scripts/requirements.txt
npm run setup
npm start
Requirements: Node.js 18+, Python 3.8+
Getting Started (Docker)
docker run -p 3000:3000 ghcr.io/lissy93/framework-benchmarks:latest
Requirements: Docker
Running Benchmarks (Source)
# Run all benchmarks
npm run benchmark
# Specific types and frameworks
python scripts/benchmark/main.py all \
--type lighthouse,bundle-size \
--frameworks react,vue,svelte \
--executions 3
Running Benchmarks (Docker)
# Get container ID
docker ps
# Run benchmarks
docker exec -it <container-id> bash -c "
cd /app && \
CHROME_FLAGS='--no-sandbox --disable-dev-shm-usage --headless' \
npm run benchmark"
Individual Apps
You can view a list of the apps in the apps/ directory.
Each app follows the same structure and has the same commands available, but check each app's readme for full usage instructions.
cd apps/[framework] # Navigate to specific app
npm i # Install dependencies
npm run dev # Start dev server
npm test # Run tests
npm run lint # Run lint checks
npm build # Build for production
npm start # Serve built prod app
Note: Don't forget to run the project setup commands first.
Once built, you can deploy the app to any CDN, static host or web server
by uploading it's source directory.
Or, just use npm start
to run it directly
Project Commands
npm run setup # Install dependencies and setup project
npm run build # Build all framework applications
npm run dev # Start development servers
npm start # Start production server
npm test # Run all tests
npm run lint # Run linting
npm run benchmark # Run performance benchmarks
npm run clean # Clean build artifacts
GitHub Actions Workflows
Alteratively, you can use the built-in GitHub Actions workflows to run the app, checks, tests and benchmarks.
Just fork the repo, and then head over the the Actions tab, to trigger the workflows.
- build - Build all framework applications
- test - Run all unit and integration tests
- lint - Run linting checks
- benchmark - Executes the performance benchmarks
- transform-results - Process benchmark data and generate charts
- docker - Builds and publishes the Docker images
- update-docs - Update documentation automatically
- mirror - Mirror repository to other platforms