Package Exports
- @stacksjs/launchpad
- @stacksjs/launchpad/bin/cli.js
- @stacksjs/launchpad/bun.d.ts
- @stacksjs/launchpad/chunk-0sthbje6.js
- @stacksjs/launchpad/chunk-7h9a332h.js
- @stacksjs/launchpad/chunk-e2w1vagk.js
- @stacksjs/launchpad/chunk-kwdnr1ce.js
- @stacksjs/launchpad/chunk-nn4zj7f2.js
- @stacksjs/launchpad/chunk-pe77cn21.js
- @stacksjs/launchpad/chunk-s2bxmfad.js
- @stacksjs/launchpad/config.d.ts
- @stacksjs/launchpad/dev/dump.d.ts
- @stacksjs/launchpad/dev/index.d.ts
- @stacksjs/launchpad/dev/integrate.d.ts
- @stacksjs/launchpad/dev/shell-escape.d.ts
- @stacksjs/launchpad/dev/shellcode.d.ts
- @stacksjs/launchpad/dev/sniff.d.ts
- @stacksjs/launchpad/doctor.d.ts
- @stacksjs/launchpad/index.d.ts
- @stacksjs/launchpad/info.d.ts
- @stacksjs/launchpad/install.d.ts
- @stacksjs/launchpad/list.d.ts
- @stacksjs/launchpad/package.d.ts
- @stacksjs/launchpad/path.d.ts
- @stacksjs/launchpad/progress.d.ts
- @stacksjs/launchpad/search.d.ts
- @stacksjs/launchpad/shim.d.ts
- @stacksjs/launchpad/smart-install.d.ts
- @stacksjs/launchpad/src/index.js
- @stacksjs/launchpad/symlink.d.ts
- @stacksjs/launchpad/tags.d.ts
- @stacksjs/launchpad/types.d.ts
- @stacksjs/launchpad/uninstall.d.ts
- @stacksjs/launchpad/utils.d.ts
- @stacksjs/launchpad/version.d.ts
Readme
launchpad
A lightweight package manager built on top of pkgx to simplify package installation and management. Similar to Homebrew, but faster.
Features
Launchpad offers a streamlined approach to package management with these key features:
- π¦ Package Management β Install and manage packages efficiently
- π Package Updates β Keep packages up-to-date with intelligent version management
- π§ Auto-updates β Configure automatic updates
- π PATH Integration β Automatically ensures installation directories are maintained in your PATH
- π Executable Shims β Create executable shims for packages automatically
- π» CLI & Library β Programmatically or manually manage your dependencies using the CLI or library
- πͺ Cross-platform β Full support for macOS, Linux, and Windows systems
Why Launchpad?
Traditional package managers like Homebrew have limitations:
- Slow installations β Installing or updating can take minutes
- Dependency chains β Updating one package triggers unwanted updates
- Environment conflicts β Different projects need different versions
- PATH management β Manual PATH configuration is error-prone
- Platform inconsistency β Different systems need different approaches
Launchpad solves these by providing:
- Fast installations β Leverage pkgx for efficient package management
- Isolated packages β Install only what you need without conflicts
- Automatic PATH management β Tools are available immediately
- Consistent interface β Same commands work everywhere
- Dev environments β Project-specific development environment support
Read more about why we created Launchpad
Installation
Launchpad is available through multiple package managers:
# Install with Bun (recommended)
bun add -g @stacksjs/launchpad
# Or with npm
npm install -g @stacksjs/launchpad
# Or with yarn
yarn global add @stacksjs/launchpad
# Or with pnpm
pnpm add -g @stacksjs/launchpad
See Installation Guide for more options.
Quick Start
Install packages
# Install packages
launchpad install node python
# Use the shorthand
launchpad i node@22
Create shims
# Create shims for executables
launchpad shim node@22 typescript@5.7
# Specify custom path
launchpad shim --path ~/bin node@22
Install pkgx
# Install pkgx itself
launchpad pkgx
# Force reinstall
launchpad pkgx --force
Install dev package
# Install the dev package
launchpad dev
# With customization
launchpad dev --path ~/bin
Install Bun
# Install Bun directly
launchpad bun
# Install specific version
launchpad bun --version 1.2.14
Configure auto-updates
# Check current auto-update status
launchpad autoupdate
# Enable auto-updates
launchpad autoupdate:enable
# Disable auto-updates
launchpad autoupdate:disable
Update packages
# Update all packages
launchpad update
# Update specific packages
launchpad update node python
# Update with latest versions (ignore constraints)
launchpad upgrade bun --latest
# Preview what would be updated
launchpad up --dry-run
List installed packages
# List all installed packages
launchpad list
# or
launchpad ls
Configuration
Launchpad can be configured via a config file (launchpad.config.ts
, .launchpadrc
, etc.) or through command-line options.
Example configuration:
import type { LaunchpadConfig } from '@stacksjs/launchpad'
const config: LaunchpadConfig = {
// Enable verbose logging
verbose: true,
// Installation path for binaries
installationPath: '/usr/local',
// Auto-elevate with sudo when needed
autoSudo: true,
// Retry settings
maxRetries: 3,
timeout: 60000,
// Version handling
symlinkVersions: true,
forceReinstall: false,
// PATH management
shimPath: '~/.local/bin',
autoAddToPath: true,
}
export default config
See Configuration Guide for all options.
GitHub Action
Launchpad provides a GitHub Action for CI/CD workflows:
- name: Install Dependencies
uses: stacksjs/launchpad-installer@v1
with:
packages: node@22 typescript@5.7 bun@1.2.14
See GitHub Action Documentation for details.
Advanced Usage
Explore advanced topics in our documentation:
Comparing to Alternatives
vs Homebrew
- Speed: Significantly faster installations
- Isolation: Changes to one package don't affect others
- Less disk space: Only install what you need
vs Manual Installation
- Simplicity: Single command to install complex tools
- PATH management: No need to manually edit shell config files
- Version control: Easily install specific versions
- Consistency: Same experience across all platforms
Changelog
Please see our releases page for information on changes.
Contributing
Please see CONTRIBUTING for details.
Community
For help or discussion:
Postcardware
βSoftware that is free, but hopes for a postcard.β We love receiving postcards from around the world showing where Stacks is being used! We showcase them on our website too.
Our address: Stacks.js, 12665 Village Ln #2306, Playa Vista, CA 90094, United States π
Credits
- Max Howell - for creating pkgx and Homebrew
- pkgm & dev - thanks for the inspiration
- Chris Breuer
- All Contributors
Sponsors
We would like to extend our thanks to the following sponsors for funding Stacks development. If you are interested in becoming a sponsor, please reach out to us.
License
The MIT License (MIT). Please see LICENSE for more information.
Made with π