The site is configured to automatically deploy to GitHub Pages when you push to the main branch.
-
Enable GitHub Pages:
- Go to your repository settings
- Navigate to "Pages" section
- Under "Build and deployment", select "GitHub Actions" as the source
-
Configure Dataset URL (Optional):
- Go to repository Settings → Secrets and variables → Actions → Variables
- Add a new variable named
DATASET_URL - Set the value to your dataset manifest URL (e.g.,
https://data.example.com/manifest.json) - If not set, it will use the sample data included in the repository
-
Push to main branch:
git add . git commit -m "Initial commit" git push origin main
-
Monitor deployment:
- Go to the "Actions" tab in your repository
- Watch the deployment workflow run
- Once complete, your site will be live at
https://yourusername.github.io/php-ext.com/
If you prefer to deploy manually:
# Build the project
bun run build
# The dist/ folder contains all static files
# Upload to any static hosting serviceTo use a custom domain:
- Add a
CNAMEfile to thepublic/directory with your domain name - Configure DNS settings to point to GitHub Pages
- Enable "Enforce HTTPS" in repository settings
VITE_DATASET_URL: URL to the dataset manifest.json- Default:
./sample-data/manifest.json - Example:
https://api.example.com/data/manifest.json
- Default:
Set during build:
VITE_DATASET_URL=https://api.example.com/data/manifest.json bun run buildTo use a dataset hosted elsewhere:
- GitHub Actions: Set the
DATASET_URLrepository variable - Local build: Use environment variable as shown above
The dataset URL can be relative to the site:
# Will load from https://yoursite.com/data/manifest.json
VITE_DATASET_URL=./data/manifest.json bun run buildThe app resolves URLs in this order:
- Runtime: Uses
VITE_DATASET_URLif set during build - Fallback: Uses
./sample-data/manifest.json
Snapshot URLs in manifest.json are resolved relative to the manifest URL:
- Absolute URLs (starting with
http) are used as-is - Relative URLs are resolved relative to the manifest.json location
- Check TypeScript errors:
bun run build - Verify all dependencies are installed:
bun install - Check Node/Bun version compatibility
- Check browser console for errors
- Verify dataset URL is accessible (check CORS)
- Validate JSON format matches expected schema
- Check network tab for 404s
- Check if GitHub Pages is enabled
- Verify workflow permissions (Settings → Actions → General → Workflow permissions)
- Ensure
DATASET_URLvariable is set correctly (if using external data)
The build is already optimized with:
- Code splitting (react-vendor, virtualization chunks)
- Tree shaking
- Minification
- Gzip compression
For 200+ extensions:
- Virtualization ensures only visible rows are rendered
- Filtering is done in-memory with memoization
- No unnecessary re-renders
Track performance in production:
- Use browser DevTools → Performance tab
- Monitor Core Web Vitals
- Check bundle sizes in build output
- Test on various devices and network speeds