https://github.com/usually-frustrated/bulk
CDN size display badge provider
https://github.com/usually-frustrated/bulk
badge esmsh jsdelivr npm shieldsio skypack unpkg
Last synced: 5 months ago
JSON representation
CDN size display badge provider
- Host: GitHub
- URL: https://github.com/usually-frustrated/bulk
- Owner: usually-frustrated
- Created: 2026-01-30T22:27:46.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-01-31T02:51:52.000Z (5 months ago)
- Last Synced: 2026-01-31T14:26:39.079Z (5 months ago)
- Topics: badge, esmsh, jsdelivr, npm, shieldsio, skypack, unpkg
- Language: TypeScript
- Homepage: https://bulk.frustrated.dev/
- Size: 102 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ✜ bulk
**Package size badges**
---
## What Does the Size Mean?
Shows the actual CDN bundle size - the initial load size when using CDN imports. If the CDN points to a bundle, this is the total bundle size. Unlike bundlephobia which shows minified+gzipped npm package sizes.
---
## Usage
```
/:package
```
```
/:provider/:package
```
---
**providers:** jsdelivr, unpkg, skypack, esm.sh
---
## Examples
### React from jsDelivr (default)
```markdown

```

### React from unpkg
```markdown

```

### Lodash from skypack
```markdown

```

### Preact from esm.sh
```markdown

```

---
## Force Refresh
Add `?refresh` to bypass cache and fetch fresh data:
```
https://bulk.frustrated.dev/react?refresh
```
---
## Features
- **Multiple CDN providers**: jsDelivr, unpkg, Skypack, esm.sh
- **Smart caching**: Immutable versions cached for 1 year, latest for 1 hour
- **Non-blocking telemetry**: Monitor requests without impacting performance
- **Force refresh**: Bypass cache with `?refresh` parameter
- **Cache versioning**: Automatic cache invalidation on deployments
---
## Deployment
This service runs on Cloudflare Workers.
```bash
# Install dependencies
npm install
# Deploy
npx wrangler deploy
# Watch logs
npx wrangler tail
```
---
## License
MIT