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)
- Yarn workspace or single package project
- TypeScript
- It's so strict you shouldn't use it!
Setting up bob is currently undocumented. You can check GraphQL Code Generator repository (or any other The Guild repository).
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"]
}
}
}
$ bob build
$ bob check