Skip to content

Build tool used in libraries maintained by The Guild

Notifications You must be signed in to change notification settings

kamilkisiela/bob

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

Bob (The Bundler Butler)

Bob is the TypeScript build, bundle and verification tool used by almost all The Guild open source projects.

Scope:

  • Build: Build ESM and CommonJS compatible npm packages
  • Verify: Ensure all ESM and CommonJS imports within a npm package are usable
  • Bundle: Build a single executable for an application (experimental)

Requirements

  • Yarn workspace or single package project
  • TypeScript
  • It's so strict you shouldn't use it!

Setup

Setting up bob is currently undocumented. You can check GraphQL Code Generator repository (or any other The Guild repository).

Configuration

You can add a bob key to each package.json.

Disable bob for a single package

{
  "name": "graphql-lfg",
  "bob": false // exclude a single package from all things bob related
}

Disable build for a single package

{
  "name": "graphql-lfg",
  "bob": {
    "build": false
  }
}

Disable check for a single package

{
  "name": "graphql-lfg",
  "bob": {
    "check": false
  }
}

Disable check for a single export in a package

{
  "name": "graphql-lfg",
  "bob": {
    "check": {
      "skip": ["./foo"]
    }
  }
}

Usage

$ bob build
$ bob check