@flash-install/cli
v2.0.0
Published
A fast, drop-in replacement for npm install with deterministic caching
Maintainers
Readme
⚡ Flash Install - The Fastest Package Installation Tool
Flash Install is a blazingly fast, drop-in replacement for npm install with deterministic caching and advanced performance optimizations. Experience installation speeds up to 65x faster than traditional npm install!
🚀 Key Features
- Lightning Fast: Up to 65x faster than
npm installthrough intelligent caching and parallel downloads - Drop-in Replacement: Works with existing npm workflows - just replace
npm installwithflash - Advanced Caching: Multi-layer caching system with integrity verification
- Parallel Downloads: Configurable concurrent downloads for maximum speed
- Cloud Integration: Share caches across teams using AWS S3, GCP, or Azure
- Performance Tracking: Built-in analytics to monitor installation performance
- Cross-Platform: Works on Windows, macOS, and Linux
📦 Installation
Prerequisites
- Node.js version 16.0.0 or higher
Install Globally
npm install -g @flash-install/cliOr with yarn:
yarn global add @flash-install/cli🚦 Quick Start
Basic Usage
Flash Install works as a direct replacement for npm install:
# Install all dependencies (equivalent to npm install)
flash
# Install a specific package (equivalent to npm install package-name)
flash lodash
# Install as dev dependency (equivalent to npm install package-name --save-dev)
flash lodash --save-devOptimize with Setup Wizard
Run the interactive setup wizard to optimize Flash Install for your system:
flash setup⚙️ Configuration
Command Line Options
| Option | Description | Default |
|--------|-------------|---------|
| --offline | Install from cache only | false |
| --no-dev | Skip devDependencies | false |
| --concurrency <number> | Number of parallel downloads | 8 |
| --timeout <ms> | Request timeout in milliseconds | 30000 |
| --verbose | Enable verbose logging | false |
| --quiet | Suppress output | false |
| --cloud-cache | Enable cloud caching | false |
| --cloud-provider <provider> | Cloud provider (aws, gcp, azure) | aws |
| --cloud-bucket <name> | Cloud bucket name | - |
| --workspace <dir> | Install in workspace | - |
| --workspace-filter <pattern> | Filter for workspaces | - |
Configuration File
Create a .flashrc file in your project directory or use the global config at ~/.flash-install/config.json:
{
"concurrency": 12,
"timeout": 45000,
"cloudCache": true,
"cloudProvider": "aws",
"cloudBucket": "my-company-cache"
}📊 Performance
Flash Install achieves significant performance improvements:
| Project Size | npm install | Flash Install | Improvement | |--------------|-------------|---------------|-------------| | Small | 4.26s | 0.12s | 97.18% | | Medium | 5.16s | 0.12s | 97.67% | | Large | 14.68s | 0.13s | 99.11% |
Overall Speed Improvement: 65x faster than npm install
Performance results based on real benchmarks. Actual performance may vary based on network conditions and system specifications.
🌐 Cloud Caching
Accelerate installation across your team with cloud caching:
# Enable AWS S3 caching
flash --cloud-cache --cloud-provider aws --cloud-bucket my-bucket
# Enable Google Cloud Storage caching
flash --cloud-cache --cloud-provider gcp --cloud-bucket my-gcs-bucket
# Enable Azure Blob Storage caching
flash --cloud-cache --cloud-provider azure --cloud-bucket my-container🛠️ Advanced Usage
Performance Benchmarking
Compare Flash Install with npm install:
flash benchmarkClean Cache
Clear the package cache:
flash cleanCheck Status
View Flash Install status and cache information:
flash statusGet Help
Access contextual help:
flash help # General help
flash help issues # Common issues and solutions
flash help performance # Performance tips
flash help troubleshooting # Troubleshooting guide📚 Documentation
☁️ Cloud Integration
Flash Install provides comprehensive cloud integration through cloud-based caching for team environments with AWS S3, Google Cloud Storage, and Azure Blob Storage.
🏗️ Architecture
Flash Install is built with several core components:
- PackageDownloader: Manages package downloads with parallel capabilities
- PerformanceTracker: Tracks and analyzes installation performance metrics
- ErrorHandler: Provides comprehensive error categorization and recovery strategies
- NetworkManager: Handles network operations and connectivity checks
- ParallelDownloadManager: Implements parallel download functionality
- WorkerPool: Manages parallel processing tasks
- Timer: Provides precise performance measurement utilities
🧪 Error Handling System
Our advanced error handling includes:
- ErrorCategory: Detailed error categorization (FILE_NOT_FOUND, NETWORK_TIMEOUT, etc.)
- RecoveryStrategy: Automated recovery strategies (RETRY, ALTERNATIVE, etc.)
- FlashError: Enhanced error objects with actionable suggestions
📊 Performance Tracking
Built-in analytics include:
- Installation time measurement
- Cache hit rate tracking
- Network vs. cache operation comparison
- Success rate monitoring
- Exportable reports in JSON/CSV formats
🔧 Troubleshooting
Common Issues
Permission Denied
Run with appropriate permissions or adjust cache directory:
flash setup # Change cache directory locationNetwork Timeout
Increase timeout value in configuration:
flash --timeout 60000Slow First Install
This is expected. Flash Install builds cache during first install and is fastest on subsequent runs.
Getting Help
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Thanks to all contributors
- Inspired by the need for faster development workflows
- Built with performance and user experience in mind
Flash Install - Making dependency management effortless and efficient
⭐ If you find this tool helpful, please give it a star!
📞 Support
For support, please open an issue on our GitHub repository.
