https://github.com/kamilkisiela/bob
Build tool used in libraries maintained by The Guild
https://github.com/kamilkisiela/bob
bundler cli typescript yarn-workspaces
Last synced: over 1 year ago
JSON representation
Build tool used in libraries maintained by The Guild
- Host: GitHub
- URL: https://github.com/kamilkisiela/bob
- Owner: kamilkisiela
- Created: 2019-11-14T16:44:04.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-03-08T09:47:31.000Z (over 1 year ago)
- Last Synced: 2025-03-08T13:48:43.824Z (over 1 year ago)
- Topics: bundler, cli, typescript, yarn-workspaces
- Language: TypeScript
- Homepage:
- Size: 1.42 MB
- Stars: 48
- Watchers: 5
- Forks: 13
- Open Issues: 21
-
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
```