@flash-install/cli v1.0.1
Quick Start
Installation
npm install -g @flash-install/cliBasic Usage
# Install dependencies
flash-install install
# Create a snapshot for faster future installs
flash-install snapshot
# Restore from a snapshot (ultra-fast)
flash-install restore
# Clean up
flash-install cleanFeatures
- ā” 30-50% faster than standard npm install
- š Deterministic caching for consistent builds
- š¦ Snapshot support for instant dependency restoration
- āļø Cloud caching for team sharing
- š Multiple package managers support (npm, yarn, pnpm, bun)
- šļø Monorepo support with workspace detection
- š Fallback to npm if any issues occur
Command Reference
| Command | Description |
|---|---|
flash-install | Install dependencies (default) |
flash-install install | Install dependencies |
flash-install snapshot | Create a snapshot of node_modules |
flash-install restore | Restore node_modules from a snapshot |
flash-install clean | Remove node_modules and snapshot |
flash-install clean-modules | Remove only node_modules (preserves snapshot) |
flash-install clean-snapshot | Remove only snapshot (preserves node_modules) |
flash-install sync | Synchronize dependencies with lockfile |
Common Options
# Use offline mode
flash-install --offline
# Specify package manager
flash-install --package-manager yarn
# Skip dev dependencies
flash-install --no-dev
# Enable workspace support for monorepos
flash-install -wPerformance Comparison
| Scenario | npm install | flash-install | Speedup |
|---|---|---|---|
| First install (small project) | 30-60s | 10-15s | 3-4x |
| First install (large project) | 3-5min | 1-2min | 2-3x |
| Subsequent install (from cache) | 30-60s | 5-10s | 6-10x |
| Subsequent install (from snapshot) | 30-60s | 1-3s | 20-30x |
| CI/CD environment | 1-3min | 5-15s | 10-20x |
Advanced Features
Cloud Caching
Share caches across your team or CI/CD environments:
flash-install --cloud-cache --cloud-provider=s3 --cloud-bucket=your-bucket-nameWorkspace Support
Efficiently manage monorepo dependencies:
flash-install -wOffline Development
Work without an internet connection:
# Create a snapshot while online
flash-install snapshot
# Later, restore dependencies while offline
flash-install restore --offlineUsing Different Package Managers
# Use with Yarn
flash-install --package-manager yarn
# Use with PNPM
flash-install --package-manager pnpm
# Use with Bun
flash-install --package-manager bunAdditional Options
Here are some of the most useful options you can use with flash-install:
General Options
--offline: Use offline mode (requires cache or snapshot)--no-cache: Disable cache usage--concurrency <number>: Number of concurrent installations--package-manager <manager>: Package manager to use (npm, yarn, pnpm, bun)--no-dev: Skip dev dependencies--verbose: Enable verbose logging--quiet: Suppress all output except errors
Workspace Options
--workspaceor-w: Enable workspace support for monorepos--workspace-filter <packages...>: Filter specific workspace packages
Cloud Options
--cloud-cache: Enable cloud cache integration--cloud-provider <provider>: Cloud provider type (s3, azure, gcp)--cloud-bucket <name>: Cloud provider bucket name--cloud-region <region>: Cloud provider region
For a complete list of all available options, run:
flash-install --helpGitHub Actions Integration
Add Flash Install to your GitHub Actions workflow:
steps:
- uses: actions/checkout@v3
- name: Install dependencies with Flash Install
uses: flash-install-cli/flash-install-action@v1
with:
# Optional parameters (shown with defaults)
command: 'install' # Command to run (install, restore, snapshot, clean)
cache-enabled: 'true' # Enable GitHub Actions caching
package-manager: 'npm' # Package manager to use (npm, yarn, pnpm, bun)
concurrency: '4' # Number of concurrent downloadsHow It Works
- Dependency Resolution: Parses lockfiles to determine exact dependencies
- Workspace Detection: Identifies workspace packages in monorepos (when enabled)
- Cache Check: Checks if dependencies are in the global cache
- Snapshot Check: Checks if a valid
.flashpacksnapshot exists - Installation: If no cache or snapshot is available, installs dependencies using the package manager
- Caching: Adds newly installed packages to the cache with optional compression
- Snapshotting: Creates a
.flashpacksnapshot with fingerprinting for future use
Documentation
For more detailed documentation, see the docs directory:
- Performance Optimizations
- Monorepo Support
- Offline Mode
- Dependency Analysis
- Cloud Cache
- Enhanced Plugin System
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository at https://github.com/flash-install-cli/flash-install
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
MIT
Acknowledgements
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago