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 Compiler)

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 an npm package are usable

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