1.0.7 โ€ข Published 5 months ago

kabob v1.0.7

Weekly downloads
-
License
ISC
Repository
github
Last release
5 months ago

Kabob ๐Ÿ–

A smart monorepo package manager installer that makes managing dependencies across workspaces a breeze. Kabob automatically detects your package manager (npm, yarn, or pnpm) and provides an interactive interface for managing dependencies across your monorepo workspaces.

Features

  • ๐Ÿ” Automatic package manager detection (npm, yarn, pnpm, bun, deno)
  • ๐ŸŽฏ Interactive workspace selection
  • ๐Ÿ“ฆ Smart internal package management
  • ๐Ÿ› ๏ธ Support for development dependencies
  • ๐Ÿ”’ Frozen lockfile support
  • ๐Ÿงน Clean install support
  • ๐Ÿ’ป Cross-platform compatibility

Installation

You can run Kabob directly using npx:

npx kabob

Or install it globally:

npm install -g kabob
or npx kabob [args...]

Usage

Adding Dependencies

Add external packages:

npx kabob add package1 package2 [options]

Add internal workspace packages:

npx kabob add --internal            # Interactive selection
npx kabob add --internal pkg1 pkg2  # Specific packages

Options:

  • -w, --workspace <workspace>: Target specific workspace
  • --internal: Add internal workspace packages
  • -D, --dev: Add as development dependency

Removing Dependencies

Remove external packages:

npx kabob remove package1 package2 [options]

Remove internal workspace packages:

npx kabob remove --internal            # Interactive selection
npx kabob remove --internal pkg1 pkg2  # Specific packages

Options:

  • -w, --workspace <workspace>: Target specific workspace
  • --internal: Remove internal workspace packages

Installing Dependencies

Install dependencies in workspaces:

npx kabob install [options]

Options:

  • -w, --workspace <workspace>: Target specific workspace
  • --clean: Clean install (like npm ci)
  • --frozen: Use frozen lockfile

Updating Dependencies

Update dependencies in workspaces:

npx kabob update [packages...] [options]

Options:

  • -w, --workspace <workspace>: Target specific workspace
  • --latest: Update to latest major versions (includes major version bumps)

If no packages are specified, you will be prompted to select from existing dependencies.

Managing Workspaces

View workspace information:

npx kabob workspace info

Managing Packages

Kabob provides several commands to manage packages in your monorepo:

# Add the package generator template to your project
npx kabob package template

# List all packages in your monorepo
npx kabob package list

# Delete a package from your monorepo
npx kabob package delete <package-name>

Creating New Packages

  1. First, add the package generator template to your project:
npx kabob package template

You'll be prompted to choose a package prefix (e.g., @repo, @workspace) that will be used in your package names.

  1. Then, create new packages using Turbo's generator:
npx turbo gen run

Follow the prompts to configure your new package.

Package Manager Support

Kabob automatically detects and supports:

  • npm
  • yarn
  • pnpm

Each command is automatically adapted to use the correct syntax for your package manager.

Examples

  1. Add a package to all workspaces:
npx kabob add lodash
  1. Add a development dependency to a specific workspace:
npx kabob add -D jest --workspace ./packages/my-app
  1. Add internal packages interactively:
npx kabob add --internal
  1. Clean install in all workspaces:
npx kabob install --clean
  1. Remove a package from specific workspaces:
npx kabob remove lodash --workspace ./packages/my-app
  1. Update packages to their latest versions:
npx kabob update --latest

Contributing

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

License

ISC

1.0.7

5 months ago

1.0.6-beta.7

5 months ago

1.0.6-beta.6

5 months ago

1.0.6-beta.5

5 months ago

1.0.6-beta.4

5 months ago

1.0.6-beta.3

5 months ago

1.0.6-beta.2

5 months ago

1.0.6-beta.1

5 months ago

1.0.6-beta.0

5 months ago

1.0.5

6 months ago

1.0.4

6 months ago

1.0.3

6 months ago

1.0.2-alpha.4

6 months ago

1.0.2-alpha.3

6 months ago

1.0.2-alpha.2

6 months ago

1.0.2-alpha.1

7 months ago

1.0.1-alpha.6

7 months ago

1.0.1-alpha.4

7 months ago

1.0.1-alpha.3

7 months ago

1.0.1-alpha.2

7 months ago

1.0.1-alpha.1

7 months ago

1.0.0-alpha.2

7 months ago

1.0.0-alpha.1

7 months ago

1.0.0

7 months ago