bun-pkg

1.0.14 • Public • Published

bun-pkg

npm version npm GitHub license

A monorepo manager for the bun workspaces.

This is an attempt to replicate pnpm's recursive command in bun workspaces. If there are any issues with the package, feel free to open an issue or fork & pull request. Or just modify the bun-pkg.ts file in the scripts folder within your own project to your liking.

Usage

bun pkg --help
bun pkg -a build # build all packages using bun build
bun pkg -a run build # run build script in all packages
bun pkg package-a build # build package-a using bun build
bun pkg package-a run build # run build script in package-a
bun pkg -n package-a init # init package-a using bun init
bun pkg -n package-a create vite # create vite app in package-a

# create a new package with a custom package.json using bun-pkg.json,
# see configuration section:
bun pkg -n package-a init --use-config

Installation

Using the CLI

bunx bun-pkg
echo {} > bun-pkg.json # See configuration section below for more details

Manually

Run the following command to download the script:

mkdir -p "scripts"
curl "https://raw.githubusercontent.com/thejasonxie/bun-pkg/main/scripts/bun-pkg.ts" > "scripts/bun-pkg.ts"

Add the following to your package.json's scripts:

 "scripts": {
   "pkg": "bun scripts/bun-pkg.ts"
  }

Then if you want to set the package.json of new packages, create a bun-pkg.json and add a template package.json to it. See configuration section below.

echo {} > bun-pkg.json # See configuration section below for more details

Configuration

In root of the monorepo, create a bun-pkg.json file to configure the package.json of a new package when --use-config flag is used. bun-pkg.json basically mirror the package.json you want to be created for new packages. ${PACKAGE} will be replaced with the package name.

Any 'scripts', 'dependencies', 'devDependencies', 'peerDependencies' lines will be appended to the new package.json.

{
  "name": "@organization/${PACKAGE}",
  "version": "0.0.1",
  "private": false,
  "publishConfig": {
    "@organization:registry": "https://npm.pkg.github.com"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/organization/${PACKAGE}"
  }
}

Package Sidebar

Install

npm i bun-pkg

Weekly Downloads

13

Version

1.0.14

License

none

Unpacked Size

17.1 kB

Total Files

7

Last publish

Collaborators

  • thejasonxie