Skip to main content

Package.json Configuration Documentation

This document provides comprehensive documentation for the package.json configuration in the STO Education Platform.

Package Overview

Package Name: vite-react-typescript-starter
Version: 3.3.4
Type: module (ES Modules)
Private: true

Scripts Configuration

Development Scripts

dev

Purpose: Starts the development server
Usage: npm run dev
Description: Launches Vite development server with hot module replacement

build

Purpose: Production build with sitemap generation
Usage: npm run build
Description:
  • Skips TypeScript checking for faster builds
  • Builds the application for production
  • Generates sitemap automatically

build:seo

Purpose: SEO-optimized build
Usage: npm run build:seo
Description: Ensures sitemap is generated for SEO purposes

preview

Purpose: Preview production build locally
Usage: npm run preview
Description: Serves the production build locally for testing

Sitemap Scripts

generate-sitemap

Purpose: Generate comprehensive sitemap
Usage: npm run generate-sitemap
Description: Generates advanced sitemap with all routes and metadata

generate-sitemap:simple

Purpose: Generate simple sitemap
Usage: npm run generate-sitemap:simple
Description: Generates basic sitemap for quick deployment

Code Quality Scripts

lint

Purpose: Run ESLint code analysis
Usage: npm run lint
Description: Analyzes code for potential issues and style violations

Dependencies

Core Framework Dependencies

React Ecosystem

Purpose: Core React framework and routing
Versions: React 18 with latest features
Usage: Main application framework and client-side routing

TypeScript

Purpose: TypeScript language support
Version: TypeScript 5.7.2
Usage: Type safety and enhanced development experience

Video Conferencing Dependencies

Whereby Embedded Rooms

Video conferencing is provided via Whereby embedded rooms (iframe-based). No additional npm packages required. Purpose: Video conferencing integration
Features:
  • Real-time video/audio communication
  • Screen sharing capabilities
  • Participant management
  • Host and participant differentiated URLs

UI and Styling Dependencies

Tailwind CSS

Purpose: Utility-first CSS framework
Features:
  • Rapid UI development
  • Responsive design utilities
  • Dark mode support
  • Custom component styling

Headless UI

Purpose: Accessible UI components
Features:
  • Accessible dropdown menus
  • Modal components
  • Toggle switches
  • Navigation components

React Icons

Purpose: Icon library
Features:
  • Comprehensive icon collection
  • Multiple icon families
  • Tree-shakeable imports

Animation and Interaction

Framer Motion

Purpose: Animation library
Features:
  • Smooth animations
  • Gesture recognition
  • Layout animations
  • Scroll-triggered animations

React Hot Toast

Purpose: Notification system
Features:
  • Toast notifications
  • Success/error messages
  • Customizable styling
  • Auto-dismiss functionality

Backend Integration

Supabase

Purpose: Backend-as-a-Service
Features:
  • Database operations
  • Authentication
  • Real-time subscriptions
  • File storage
  • Edge functions

Communication Dependencies

SendBird Chat

Purpose: Real-time messaging
Features:
  • Chat functionality
  • File sharing
  • Push notifications
  • Group messaging

Payment Processing

PayMob Integration

Purpose: HTTP client for API calls
Usage: Payment processing and external API integration

Analytics and Monitoring

PostHog Analytics

Purpose: Product analytics
Features:
  • User behavior tracking
  • Feature flags
  • A/B testing
  • Event tracking

LogRocket

Purpose: Error tracking and session replay
Features:
  • Error monitoring
  • User session replay
  • Performance monitoring
  • Debug information

Email and Communication

React Email

Purpose: Email template system
Features:
  • HTML email templates
  • React-based email components
  • Email delivery service
  • Template rendering

File and Document Processing

PDF Processing

Purpose: PDF handling
Features:
  • PDF viewing
  • PDF manipulation
  • PDF generation
  • Document annotation

Excel Processing

Purpose: Excel file handling
Features:
  • Excel file reading
  • Excel file writing
  • Data export/import
  • Spreadsheet manipulation

Image and Media Processing

Image Processing

Purpose: Image manipulation
Features:
  • Background removal
  • Image optimization
  • Image resizing
  • Format conversion

Cloudinary

Purpose: Cloud image management
Features:
  • Image upload
  • Image transformation
  • CDN delivery
  • Image optimization

Calendar and Scheduling

FullCalendar

Purpose: Calendar functionality
Features:
  • Calendar display
  • Event scheduling
  • Drag and drop
  • Multiple view types

React Calendar

Purpose: Date picker component
Features:
  • Date selection
  • Range selection
  • Custom styling
  • Localization support

Content Management

Editor.js

Purpose: Rich text editor
Features:
  • Block-based editing
  • Multiple content types
  • Extensible plugins
  • Clean JSON output

Craft.js

Purpose: Page builder
Features:
  • Drag and drop interface
  • Component-based building
  • Real-time editing
  • Responsive design

Maps and Location

Mapbox

Purpose: Maps and geolocation
Features:
  • Interactive maps
  • Address autocomplete
  • Geolocation services
  • Custom map styling

Machine Learning and AI

TensorFlow.js

Purpose: Machine learning in browser
Features:
  • Body segmentation
  • Face detection
  • Image recognition
  • Client-side ML

Face API

Purpose: Face recognition
Features:
  • Face detection
  • Face recognition
  • Emotion detection
  • Age/gender estimation

ONNX Runtime

Purpose: ONNX model execution
Features:
  • Model inference
  • Cross-platform compatibility
  • High performance
  • Multiple model formats

Utility Libraries

Date and Time

Purpose: Date handling
Features: Date selection and manipulation

UUID Generation

Purpose: Unique identifier generation
Features: UUID v4 generation

Color Processing

Purpose: Color analysis
Features: Average color calculation from images

HTML Processing

Purpose: Server-side HTML parsing
Features: jQuery-like server-side DOM manipulation

Canvas Processing

Purpose: Screenshot generation
Features: DOM to canvas conversion

Computer Vision

Purpose: Computer vision algorithms
Features: Image processing and analysis

Development and Build Tools

Vite

Purpose: Build tool and dev server
Features:
  • Fast development server
  • Hot module replacement
  • Optimized production builds
  • Plugin ecosystem

React Plugin

Purpose: React support for Vite
Features:
  • React Fast Refresh
  • JSX transformation
  • React-specific optimizations

Mobile and Desktop

Tauri

Purpose: Desktop app development
Features:
  • Desktop app capabilities
  • Native OS integration
  • File system access
  • Native notifications

User Experience

Driver.js

Purpose: User onboarding
Features:
  • Interactive tutorials
  • Feature highlighting
  • Step-by-step guides
  • User onboarding flows

Emoji Picker

Purpose: Emoji selection
Features:
  • Emoji picker component
  • Unicode emoji support
  • Search functionality
  • Custom emoji categories

Parallax Effects

Purpose: Parallax scrolling effects
Features:
  • Smooth parallax animations
  • Performance optimized
  • Customizable effects

Intersection Observer

Purpose: Scroll-based animations
Features:
  • Intersection detection
  • Lazy loading
  • Scroll-triggered animations
  • Performance monitoring

SEO and Meta

React Helmet

Purpose: Document head management
Features:
  • Dynamic meta tags
  • SEO optimization
  • Social media tags
  • Title management

Data Visualization

Recharts

Purpose: Chart and graph library
Features:
  • Responsive charts
  • Multiple chart types
  • Interactive features
  • Customizable styling

Frame Components

React Frame Component

Purpose: Iframe integration
Features:
  • Iframe components
  • Isolated styling
  • Cross-origin communication
  • Sandboxed content

CORS and Security

CORS

Purpose: Cross-origin resource sharing
Features: CORS middleware for API requests

Environment and Configuration

Dotenv

Purpose: Environment variable management
Features: Environment variable loading

DevDependencies

TypeScript Support

Purpose: TypeScript type definitions
Features: Type safety for React and utilities

Code Quality Tools

ESLint

Purpose: Code linting and formatting
Features:
  • Code quality analysis
  • Style enforcement
  • Error detection
  • Best practice enforcement

ESLint Plugins

Purpose: React-specific linting rules
Features:
  • React Hooks validation
  • React Refresh support
  • React best practices

Globals

Purpose: Global variable definitions
Features: ESLint global variable support

Build Tools

Supabase CLI

Purpose: Supabase development tools
Features:
  • Local development
  • Database management
  • Function deployment
  • Migration handling

Babel Support

Purpose: React display name support
Features: Automatic display name generation

Package Management

NPM Configuration

  • Lock File: package-lock.json present
  • Registry: Default NPM registry
  • Engine: Node.js 18+ recommended

Dependency Management

  • Version Strategy: Caret (^) for most dependencies
  • Security: Regular security audits
  • Updates: Regular dependency updates

Bundle Analysis

  • Size Optimization: Tree shaking enabled
  • Code Splitting: Automatic code splitting
  • Minification: Production builds minified

Performance Considerations

Bundle Optimization

  • Vendor Chunks: Separate vendor bundles
  • Lazy Loading: Route-based code splitting
  • Tree Shaking: Unused code elimination
  • Minification: Production code minification

Development Experience

  • Hot Reload: Fast development server
  • Type Checking: TypeScript integration
  • Error Overlay: Clear error messages
  • Source Maps: Debug-friendly builds

Security Considerations

Dependency Security

  • Regular Audits: npm audit for security issues
  • Version Pinning: Critical dependencies pinned
  • Vulnerability Scanning: Automated security scanning

Environment Variables

  • Sensitive Data: Never committed to repository
  • Validation: Runtime validation of required variables
  • Documentation: Clear documentation of required variables

Maintenance and Updates

Update Strategy

  • Regular Updates: Monthly dependency updates
  • Security Patches: Immediate security updates
  • Breaking Changes: Careful evaluation before major updates
  • Testing: Comprehensive testing after updates

Monitoring

  • Bundle Size: Monitor bundle size changes
  • Performance: Track performance metrics
  • Dependencies: Monitor dependency health
  • Security: Regular security assessments