https://github.com/graphql-hive/bob
Build tool used in libraries maintained by The Guild
https://github.com/graphql-hive/bob
bundler cli typescript yarn-workspaces
Last synced: 12 months ago
JSON representation
Build tool used in libraries maintained by The Guild
- Host: GitHub
- URL: https://github.com/graphql-hive/bob
- Owner: graphql-hive
- Created: 2019-11-14T16:44:04.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-03-26T12:45:15.000Z (about 1 year ago)
- Last Synced: 2025-03-26T13:40:46.518Z (about 1 year ago)
- Topics: bundler, cli, typescript, yarn-workspaces
- Language: TypeScript
- Homepage:
- Size: 1.34 MB
- Stars: 48
- Watchers: 6
- Forks: 13
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Bob (The Compiler)
Bob is the TypeScript build, bundle and verification tool used by almost all
[The Guild](https://the-guild.dev) 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](https://github.com/dotansimha/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**
```jsonc
{
"name": "graphql-lfg",
"bob": false // exclude a single package from all things bob related
}
```
**Disable build for a single package**
```json
{
"name": "graphql-lfg",
"bob": {
"build": false
}
}
```
**Disable check for a single package**
```json
{
"name": "graphql-lfg",
"bob": {
"check": false
}
}
```
**Disable check for a single export in a package**
```json
{
"name": "graphql-lfg",
"bob": {
"check": {
"skip": ["./foo"]
}
}
}
```
## Usage
```bash
$ bob build
$ bob check
```