@flash-install/cli v1.8.4
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
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago