1.0.5 • Published 7 months ago

@flash-install/cli v1.0.5

Weekly downloads
-
License
MIT
Repository
github
Last release
7 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

7 months ago

1.8.3

7 months ago

1.8.2

7 months ago

1.8.1

7 months ago

1.8.0

7 months ago

1.7.2

7 months ago

1.7.1

7 months ago

1.7.0

7 months ago

1.6.0

7 months ago

1.5.0

7 months ago

1.4.2

7 months ago

1.4.1

7 months ago

1.4.0

7 months ago

1.3.6

7 months ago

1.3.5

7 months ago

1.3.4

7 months ago

1.3.3

7 months ago

1.3.2

7 months ago

1.3.1

7 months ago

1.2.9

7 months ago

1.2.1

7 months ago

1.1.0

7 months ago

1.0.7

7 months ago

1.0.6

7 months ago

1.0.5

7 months ago

1.0.4

7 months ago

1.0.3

7 months ago

1.0.2

7 months ago

1.0.1

7 months ago

1.0.0

7 months ago