Skip to content

NPM Scripts Reference

Complete reference for all available npm scripts in CASCADA Framework.

Development Scripts

pnpm dev

Purpose: Start the main development server
Port: http://localhost:5173
Features:

  • Hot module replacement (HMR)
  • TypeScript compilation
  • Vue component compilation
  • Auto-reload on file changes
bash
pnpm dev

pnpm docs:dev

Purpose: Start documentation development server
Port: http://localhost:5174
Features:

  • VitePress development server
  • Live documentation updates
  • Markdown hot reload
bash
pnpm docs:dev

pnpm server:dev

Purpose: Start multiplayer server
Port: http://localhost:2567
Features:

  • Colyseus WebSocket server
  • Neural network room simulation
  • Real-time multiplayer support
bash
pnpm server:dev

Build Scripts

pnpm build

Purpose: Create production build
Output: dist/ directory
Features:

  • TypeScript compilation
  • Vite bundling
  • Asset optimization
  • Source maps generation
bash
pnpm build

pnpm preview

Purpose: Preview production build locally
Port: http://localhost:4173
Features:

  • Serves built files
  • Production-like environment
  • Performance testing
bash
pnpm preview

Quality Assurance Scripts

pnpm lint

Purpose: Run all quality checks
Includes:

  • Architecture compliance
  • Game modes structure
  • TypeScript type checking
  • ESLint code quality
bash
pnpm lint

pnpm check:architecture

Purpose: Validate 3-layer architecture compliance
Checks:

  • No circular dependencies
  • Proper layer separation
  • Import path validation
  • Dependency flow verification
bash
pnpm check:architecture

pnpm check:modes

Purpose: Validate game modes structure
Checks:

  • Mode scene files exist
  • Mode HUD components exist
  • Mode configuration consistency
  • Mode registration completeness
bash
pnpm check:modes

pnpm validate:isolation

Purpose: Validate layer isolation
Checks:

  • Platform layer independence
  • Core layer reusability
  • Game layer specificity
  • No cross-layer dependencies
bash
pnpm validate:isolation

pnpm lint:eslint

Purpose: Run ESLint code quality checks
Features:

  • TypeScript/JavaScript linting
  • Import/export validation
  • Code style enforcement
  • Best practices checking
bash
pnpm lint:eslint

Docker Scripts

pnpm docker:dev

Purpose: Start full development environment in Docker
Services:

  • Main game (port 5173)
  • Documentation (port 8080)
  • Packages development
bash
pnpm docker:dev

pnpm docker:dev:build

Purpose: Build and start Docker environment
Features:

  • Rebuild containers
  • Update dependencies
  • Fresh environment
bash
pnpm docker:dev:build

pnpm docker:dev:down

Purpose: Stop all Docker containers
Features:

  • Graceful shutdown
  • Container cleanup
  • Network cleanup
bash
pnpm docker:dev:down

pnpm docker:dev:logs

Purpose: View Docker container logs
Features:

  • Real-time log streaming
  • All services logs
  • Error debugging
bash
pnpm docker:dev:logs

pnpm docker:packages

Purpose: Start packages development only
Features:

  • Monorepo package building
  • Dependency management
  • Package isolation
bash
pnpm docker:packages

pnpm docker:watch

Purpose: Start development environment with hot reload
Services:

  • Main game (port 5173) with hot reload
  • Documentation (port 5174) with hot reload
  • Multiplayer server (port 2567)

Features:

  • File watching enabled
  • Hot module replacement
  • Polling for Docker compatibility
  • All services with watch mode
bash
pnpm docker:watch

pnpm docker:watch:build

Purpose: Build and start watch environment
Features:

  • Rebuild containers
  • Update dependencies
  • Fresh watch environment
bash
pnpm docker:watch:build

pnpm docker:watch:down

Purpose: Stop watch containers
Features:

  • Graceful shutdown
  • Container cleanup
  • Network cleanup
bash
pnpm docker:watch:down

pnpm docker:watch:logs

Purpose: View watch container logs
Features:

  • Real-time log streaming
  • All services logs
  • Error debugging
bash
pnpm docker:watch:logs

pnpm docker:docs

Purpose: Start documentation server only
Port: http://localhost:8080
Features:

  • Documentation-only environment
  • VitePress in Docker
  • Isolated documentation
bash
pnpm docker:docs

Documentation Scripts

pnpm docs:dev

Purpose: Start documentation development server
Port: http://localhost:5174
Features:

  • Live markdown editing
  • Hot reload
  • Search functionality
bash
pnpm docs:dev

pnpm docs:build

Purpose: Build static documentation
Output: docs/.vitepress/dist/
Features:

  • Static site generation
  • SEO optimization
  • Asset bundling
bash
pnpm docs:build

pnpm docs:preview

Purpose: Preview built documentation
Port: http://localhost:4173
Features:

  • Production documentation
  • Static file serving
  • Performance testing
bash
pnpm docs:preview

Version Management Scripts

pnpm version:patch

Purpose: Increment patch version (1.0.0 → 1.0.1)
Use case: Bug fixes, small improvements
Features:

  • Updates package.json version
  • Creates git tag
  • Updates CHANGELOG.md
bash
pnpm version:patch

pnpm version:minor

Purpose: Increment minor version (1.0.0 → 1.1.0)
Use case: New features, backwards-compatible changes
Features:

  • Updates package.json version
  • Creates git tag
  • Updates CHANGELOG.md
bash
pnpm version:minor

pnpm version:major

Purpose: Increment major version (1.0.0 → 2.0.0)
Use case: Breaking changes, major rewrites
Features:

  • Updates package.json version
  • Creates git tag
  • Updates CHANGELOG.md
bash
pnpm version:major

pnpm version:prerelease

Purpose: Create prerelease version (1.0.0 → 1.0.1-0)
Use case: Alpha/beta releases, testing
Features:

  • Updates package.json version
  • Creates git tag
  • Updates CHANGELOG.md
bash
pnpm version:prerelease

pnpm release

Purpose: Full release process
Features:

  • Builds production bundle
  • Builds documentation
  • Publishes to npm (if configured)
bash
pnpm release

Script Categories

Development Workflow

bash
# Start all services
pnpm dev & pnpm docs:dev & pnpm server:dev

# Or use Docker for everything
pnpm docker:dev

Quality Assurance Workflow

bash
# Before committing
pnpm lint

# Check specific issues
pnpm check:architecture
pnpm check:modes
pnpm validate:isolation

Production Workflow

bash
# Build everything
pnpm build
pnpm docs:build

# Preview production
pnpm preview
pnpm docs:preview

Docker Workflow

bash
# Full environment
pnpm docker:dev

# Specific services
pnpm docker:packages
pnpm docker:docs

# Cleanup
pnpm docker:dev:down

Environment Variables

Development

bash
NODE_ENV=development
VITE_DEV_SERVER=true

Production

bash
NODE_ENV=production
VITE_DEV_SERVER=false

Docker

bash
CI=true
NODE_ENV=development

Troubleshooting

Common Issues

Port already in use:

bash
# Find process using port
lsof -i :5173
lsof -i :5174
lsof -i :2567

# Kill process
kill -9 <PID>

Docker issues:

bash
# Clean Docker
docker system prune -a

# Rebuild containers
pnpm docker:dev:build

Dependencies issues:

bash
# Clean install
rm -rf node_modules
pnpm install

# Clear cache
pnpm store prune

Script Dependencies

Required for Development

  • pnpm dev - Main development
  • pnpm docs:dev - Documentation
  • pnpm server:dev - Multiplayer

Required for Building

  • pnpm build - Production build
  • pnpm docs:build - Documentation build

Required for Quality Assurance

  • pnpm lint - All checks
  • pnpm check:architecture - Architecture
  • pnpm check:modes - Game modes

Required for Docker

  • pnpm docker:dev - Full environment
  • pnpm docker:dev:down - Cleanup

Best Practices

Development

  1. Use pnpm dev for main development
  2. Use pnpm docs:dev for documentation
  3. Use pnpm server:dev for multiplayer testing
  4. Run pnpm lint before committing

Production

  1. Run pnpm build for production build
  2. Run pnpm docs:build for documentation
  3. Test with pnpm preview and pnpm docs:preview
  4. Deploy dist/ and docs/.vitepress/dist/

Docker

  1. Use pnpm docker:dev for full environment
  2. Use pnpm docker:dev:down to stop
  3. Use pnpm docker:dev:logs for debugging
  4. Use pnpm docker:dev:build for fresh start

Quality Assurance

  1. Run pnpm lint regularly
  2. Fix architecture issues with pnpm check:architecture
  3. Validate game modes with pnpm check:modes
  4. Check isolation with pnpm validate:isolation

MIT Licensed