1.8.4 • Published 10 months ago

@flash-install/cli v1.8.4

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

Quick Start

Installation

npm install -g @flash-install/cli

Basic 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 clean

Features

  • ⚔ 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

CommandDescription
flash-installInstall dependencies (default)
flash-install installInstall dependencies
flash-install snapshotCreate a snapshot of node_modules
flash-install restoreRestore node_modules from a snapshot
flash-install cleanRemove node_modules and snapshot
flash-install clean-modulesRemove only node_modules (preserves snapshot)
flash-install clean-snapshotRemove only snapshot (preserves node_modules)
flash-install syncSynchronize 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 -w

Performance Comparison

Scenarionpm installflash-installSpeedup
First install (small project)30-60s10-15s3-4x
First install (large project)3-5min1-2min2-3x
Subsequent install (from cache)30-60s5-10s6-10x
Subsequent install (from snapshot)30-60s1-3s20-30x
CI/CD environment1-3min5-15s10-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-name

Workspace Support

Efficiently manage monorepo dependencies:

flash-install -w

Offline Development

Work without an internet connection:

# Create a snapshot while online
flash-install snapshot

# Later, restore dependencies while offline
flash-install restore --offline

Using 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 bun

Additional 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

  • --workspace or -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 --help

GitHub 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 downloads

How It Works

  1. Dependency Resolution: Parses lockfiles to determine exact dependencies
  2. Workspace Detection: Identifies workspace packages in monorepos (when enabled)
  3. Cache Check: Checks if dependencies are in the global cache
  4. Snapshot Check: Checks if a valid .flashpack snapshot exists
  5. Installation: If no cache or snapshot is available, installs dependencies using the package manager
  6. Caching: Adds newly installed packages to the cache with optional compression
  7. Snapshotting: Creates a .flashpack snapshot with fingerprinting for future use

Documentation

For more detailed documentation, see the docs directory:

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository at https://github.com/flash-install-cli/flash-install
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

MIT

Acknowledgements

  • Inspired by the speed of Bun, the reliability of Yarn, and the efficiency of PNPM
  • Thanks to all the open-source projects that made this possible
1.8.4

10 months ago

1.8.3

10 months ago

1.8.2

10 months ago

1.8.1

10 months ago

1.8.0

10 months ago

1.7.2

10 months ago

1.7.1

10 months ago

1.7.0

10 months ago

1.6.0

10 months ago

1.5.0

10 months ago

1.4.2

10 months ago

1.4.1

10 months ago

1.4.0

10 months ago

1.3.6

10 months ago

1.3.5

10 months ago

1.3.4

10 months ago

1.3.3

10 months ago

1.3.2

10 months ago

1.3.1

10 months ago

1.2.9

10 months ago

1.2.1

10 months ago

1.1.0

10 months ago

1.0.7

10 months ago

1.0.6

10 months ago

1.0.5

10 months ago

1.0.4

10 months ago

1.0.3

10 months ago

1.0.2

10 months ago

1.0.1

10 months ago

1.0.0

10 months ago