Skip to content

Commit 41380a8

Browse files
committed
feat: add dependency file updates
chore: wip chore: wip chore: wip chore: wip chore: wip chore: wip chore: wip chore: wip
1 parent dc3f2af commit 41380a8

23 files changed

+3212
-118
lines changed

README.md

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ A modern, fast alternative to Dependabot and Renovate built for the JavaScript a
1818

1919
- 🚀 **Lightning Fast**: Built with Bun & performance in mind
2020
- 🎯 **Smart Updates**: Configurable update strategies _(major, minor, patch, all)_
21-
- 📦 **Multi-Package Manager**: Supports Bun, npm, yarn, pnpm, and pkgx
21+
- 📦 **Multi-Package Manager**: Supports Bun, npm, yarn, pnpm, pkgx, and Launchpad dependency files
2222
- 🔍 **Intelligent Scanning**: Uses `bun outdated` for accurate dependency detection
2323
- 📋 **Flexible Grouping**: Group related packages for cleaner PRs
2424
- 🎨 **Rich PR Format**: Detailed changelogs, release notes, and metadata
@@ -173,10 +173,23 @@ if (scanResult.updates.length > 0) {
173173
Buddy leverages Bun's built-in capabilities for maximum performance:
174174

175175
1. **Fast Scanning**: Uses `bun outdated` to quickly identify outdated packages
176-
2. **Smart Parsing**: Analyzes `package.json` and lock files across your project
177-
3. **Intelligent Grouping**: Groups related packages to reduce PR noise
178-
4. **Rich Metadata**: Fetches package metadata, release notes, and changelogs
179-
5. **PR Generation**: Creates detailed pull requests with formatted content
176+
2. **Smart Parsing**: Analyzes `package.json`, lock files, and dependency files across your project
177+
3. **Dependency File Support**: Automatically detects and updates pkgx and Launchpad dependency files
178+
4. **Intelligent Grouping**: Groups related packages to reduce PR noise
179+
5. **Rich Metadata**: Fetches package metadata, release notes, and changelogs
180+
6. **PR Generation**: Creates detailed pull requests with formatted content
181+
182+
### Supported Dependency Files
183+
184+
Buddy automatically detects and updates the following dependency file formats:
185+
186+
- **package.json** - Traditional npm/Bun dependencies
187+
- **deps.yaml** / **deps.yml** - pkgx/Launchpad dependency declarations
188+
- **dependencies.yaml** / **dependencies.yml** - Alternative dependency file format
189+
- **pkgx.yaml** / **pkgx.yml** - pkgx-specific dependency files
190+
- **.deps.yaml** / **.deps.yml** - Hidden dependency configuration files
191+
192+
All dependency files are parsed using the `ts-pkgx` library to ensure compatibility with the pkgx registry ecosystem while maintaining support for tools like Launchpad that reuse the same registry format.
180193

181194
## Update Strategies
182195

@@ -324,7 +337,7 @@ This PR was generated by [Buddy](https://github.com/stacksjs/buddy-bot).
324337
| Feature | Buddy | Dependabot | Renovate |
325338
|---------|-------|------------|----------|
326339
| **Speed** | ⚡ Bun-native | 🐌 Slower | 🐌 Slower |
327-
| **Package Managers** | Bun, npm, yarn, pnpm, Launchpad, pkgx | Limited | Limited |
340+
| **Package Managers** | Bun, npm, yarn, pnpm, pkgx, Launchpad | Limited | Limited |
328341
| **Configuration** | TypeScript, YAML, JSON/JS, package.json | YAML | JSON/JS |
329342
| **Grouping** | ✅ Flexible | ✅ Basic | ✅ Advanced |
330343
| **Zero Config** | ✅ Yes | ✅ Yes | ❌ Complex |

bun.lock

Lines changed: 140 additions & 3 deletions
Large diffs are not rendered by default.

docs/api/buddy.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Buddy Class API
22

3-
The `Buddy` class is the main entry point for programmatic dependency management. It provides methods for scanning dependencies, creating pull requests, and managing updates.
3+
The `Buddy` class is the main entry point for programmatic dependency management. It provides methods for scanning dependencies across multiple file formats (package.json, pkgx/Launchpad dependency files), creating pull requests, and managing updates.
44

55
## Constructor
66

docs/config.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
Buddy can be configured using a `buddy-bot.config.ts` _(or `buddy-bot.config.js`)_ file and it will be automatically loaded when running buddy commands.
44

5+
Buddy automatically detects and updates multiple dependency file formats including `package.json`, pkgx dependency files (`deps.yaml`, `pkgx.yaml`), and Launchpad dependency files that use the same registry format.
6+
57
## Basic Configuration
68

79
```typescript
@@ -56,6 +58,27 @@ export default config
5658

5759
## Advanced Configuration
5860

61+
### Dependency File Support
62+
63+
Buddy automatically scans your project for various dependency file formats:
64+
65+
```typescript
66+
// Buddy automatically detects these file types:
67+
const supportedFiles = [
68+
'package.json', // npm/Bun dependencies
69+
'deps.yaml', // pkgx/Launchpad dependencies
70+
'deps.yml', // pkgx/Launchpad dependencies (alternative extension)
71+
'dependencies.yaml', // Alternative dependency format
72+
'dependencies.yml', // Alternative dependency format
73+
'pkgx.yaml', // pkgx-specific dependencies
74+
'pkgx.yml', // pkgx-specific dependencies
75+
'.deps.yaml', // Hidden dependency configuration
76+
'.deps.yml', // Hidden dependency configuration
77+
]
78+
```
79+
80+
All dependency files are parsed using the `ts-pkgx` library and updates are applied while preserving formatting, comments, and version prefixes (`^`, `~`, `>=`, etc.).
81+
5982
### Package Groups
6083

6184
Organize related packages for coordinated updates:

0 commit comments

Comments
 (0)