Core command line interface functionality providing development, build, and testing commands for icejs applications.
Main CLI executable that provides access to all ice.js functionality.
# Basic usage
icejs <command> [options]
# Global options
icejs --version, -V # Output version number
icejs --help, -h # Output usage informationUsage Examples:
# Show version
icejs --version
# Show help
icejs --help
# Show help for specific command
icejs start --helpStarts the development server with hot reloading and development optimizations.
# Start development server
icejs start [options]
# Options:
# --config <config> Use custom config file
# -h, --host <host> Dev server host (default: 0.0.0.0)
# -p, --port <port> Dev server port
# --help Display help for commandUsage Examples:
# Start with default settings
icejs start
# Start on specific host and port
icejs start --host localhost --port 3000
# Start with custom config
icejs start --config build.custom.json
# Start and let system choose available port
icejs start --port 0Behavior:
Builds the project for production with optimizations and asset bundling.
# Build project for production
icejs build [options]
# Options:
# --config <config> Use custom config file
# --help Display help for commandUsage Examples:
# Build with default configuration
icejs build
# Build with custom config file
icejs build --config build.production.json
# Build and output verbose information
NODE_ENV=production icejs buildBehavior:
Runs the test suite using Jest with project-specific configuration.
# Run tests with Jest
icejs test [options]
# Options:
# --config <config> Use custom config file
# --help Display help for command
# [jest-options] Any Jest CLI options are supportedUsage Examples:
# Run all tests
icejs test
# Run tests in watch mode
icejs test --watch
# Run tests with coverage
icejs test --coverage
# Run specific test files
icejs test --testPathPattern=components
# Run tests with custom config
icejs test --config build.test.json
# Combine custom config with Jest options
icejs test --config build.test.json --verbose --detectOpenHandlesBehavior:
All commands support the
--config# Supported config file formats
icejs start --config build.json
icejs build --config build.js
icejs test --config .buildrc.jsCommands respect standard Node.js and framework environment variables:
# Set environment for build optimizations
NODE_ENV=production icejs build
# Enable debugging
DEBUG=ice:* icejs start
# Custom framework name
__FRAMEWORK_NAME__=my-framework icejs startCLI commands include comprehensive error handling:
Development server runs in child process for better isolation:
# Main process manages child process lifecycle
icejs start
# ↳ Spawns child process for development server
# ↳ Handles cleanup on exit signals
# ↳ Forwards output and error streamsProper cleanup and shutdown handling: