Skip to main content

Build Scripts

This document details all build scripts and automation tools used in the STO Education Platform.

Package.json Scripts

Development Scripts

npm run dev

  • Purpose: Start development server with hot module replacement
  • Command: vite
  • Features:
    • Hot module replacement (HMR)
    • TypeScript compilation
    • Source maps for debugging
    • Fast refresh for React components
    • Environment variable loading

npm run build

  • Purpose: Build production bundle
  • Command: tsc && vite build
  • Process:
    1. TypeScript type checking (tsc)
    2. Vite production build with optimizations
    3. Asset optimization and minification
    4. Chunk splitting for better caching

npm run build:seo

  • Purpose: Build optimized for SEO and static hosting
  • Command: tsc && vite build --mode seo
  • Features:
    • Static asset optimization
    • SEO-friendly meta tags
    • Sitemap generation
    • Static page pre-rendering

npm run preview

  • Purpose: Preview production build locally
  • Command: vite preview
  • Use Case: Test production build before deployment

npm run lint

  • Purpose: Run ESLint for code quality checks
  • Command: eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0
  • Features:
    • TypeScript and React linting
    • Unused directive reporting
    • Zero warnings policy

npm run type-check

  • Purpose: TypeScript type checking without emitting files
  • Command: tsc --noEmit
  • Use Case: CI/CD type validation

SEO and Sitemap Scripts

npm run generate-sitemap

  • Purpose: Generate comprehensive sitemap with dynamic content
  • File: scripts/generate-sitemap.js
  • Features:
    • Dynamic route generation from database
    • Static page inclusion
    • Priority and frequency settings
    • XML sitemap format

npm run generate-sitemap:simple

  • Purpose: Generate simple static sitemap
  • File: scripts/generate-sitemap-simple.js
  • Use Case: Quick sitemap generation for static sites

Build Configuration

Vite Configuration

Build Optimizations

Production Optimizations

  • Code Splitting: Automatic chunk splitting for better caching
  • Tree Shaking: Remove unused code
  • Minification: JavaScript and CSS minification
  • Asset Optimization: Image and font optimization
  • Console Removal: Remove console statements in production

Manual Chunk Configuration

Version Plugin

Sitemap Generation Scripts

Comprehensive Sitemap Generator

Simple Sitemap Generator

Build Process Flow

Development Build

Production Build

SEO Build

Build Output Structure

Production Build Output

Version Information

Build Performance

Optimization Strategies

  1. Code Splitting:
    • Separate vendor libraries
    • Route-based splitting
    • Dynamic imports for large components
  2. Asset Optimization:
    • Image compression
    • Font optimization
    • CSS purging
  3. Bundle Analysis:
  4. Tree Shaking:
    • Remove unused code
    • Optimize imports
    • Dead code elimination

Build Metrics

  • Bundle Size: Target < 500KB for main bundle
  • Load Time: < 3 seconds for initial load
  • Cache Efficiency: Long-term caching for vendor chunks
  • Compression: Gzip compression for all assets

Deployment Integration

Vercel Deployment

CI/CD Pipeline

Troubleshooting

Common Build Issues

  1. TypeScript Errors:
  2. Linting Errors:
  3. Build Failures:
    • Check environment variables
    • Verify dependencies
    • Check for circular dependencies
  4. Performance Issues:
    • Analyze bundle size
    • Check for large dependencies
    • Optimize imports

Debug Build Process