#16140: fix: convert installable extension deps from workspace:* to peerDependencies (#14042)
channel: bluebubbles
channel: googlechat
channel: line
channel: matrix
channel: mattermost
channel: msteams
channel: nextcloud-talk
channel: nostr
channel: tlon
channel: zalo
channel: zalouser
stale
channel: irc
size: XS
## Summary
- Converts `openclaw` from `devDependencies: { "openclaw": "workspace:*" }` to `peerDependencies: { "openclaw": ">=2026.0.0" }` in all **installable** (npm-published) extensions
- Fixes `npm install` failures when extensions are installed outside the monorepo (workspace:* doesn't resolve)
- Covers: bluebubbles, googlechat, irc, line, matrix, mattermost, msteams, nextcloud-talk, nostr, tlon, zalo, zalouser
Closes #14042
## Test plan
- [ ] Verify `pnpm install` still works in monorepo
- [ ] Verify `pnpm build` passes
- [ ] Verify `pnpm test` passes
- [ ] Check that no extension has `workspace:*` in devDependencies for `openclaw`
<!-- greptile_comment -->
<h3>Greptile Summary</h3>
Converts `openclaw` dependency from `devDependencies: { "openclaw": "workspace:*" }` to `peerDependencies: { "openclaw": ">=2026.0.0" }` across 12 installable extensions. This fixes npm install failures when extensions are installed outside the monorepo where `workspace:*` doesn't resolve.
Key changes:
- Consistent conversion across bluebubbles, googlechat, irc, line, matrix, mattermost, msteams, nextcloud-talk, nostr, tlon, zalo, and zalouser extensions
- For googlechat (which already had peerDependencies), removed duplicate devDependencies entry and standardized version constraint to `>=2026.0.0`
- `pnpm-lock.yaml` correctly updated to reflect the dependency changes
Minor issue found:
- The `extensions/feishu` extension has install config (`openclaw.install` field) and still contains `"openclaw": "workspace:*"` in devDependencies, suggesting it should also be included in this conversion
<h3>Confidence Score: 4/5</h3>
- Safe to merge with one minor oversight (feishu extension)
- The PR correctly implements the conversion from workspace:* to peerDependencies across the modified extensions, follows the guidance in AGENTS.md, and includes proper pnpm-lock.yaml updates. Score of 4 (not 5) because the feishu extension with install config was missed and should likely be included for consistency.
- No files require special attention - the changes are mechanical and consistent
<sub>Last reviewed commit: 5cc3794</sub>
<!-- greptile_other_comments_section -->
<!-- /greptile_comment -->
Most Similar PRs
#11454: fix(plugins): remove workspace:* from extension dependencies
by AnonO6 · 2026-02-07
84.4%
#20360: fix(feishu): remove workspace protocol from published package metadata
by tanujbhaud · 2026-02-18
84.3%
#19941: fix(nostr): move openclaw from devDependencies to peerDependencies
by AustinEral · 2026-02-18
81.8%
#20055: fix(plugins): strip workspace:* dev-deps before npm install
by openperf · 2026-02-18
81.1%
#8500: fix: Remove workspace:* from devDependencies in voice-call plugin
by ImBIOS · 2026-02-04
78.5%
#13176: fix: resolve llm-task module import for global installs
by striking · 2026-02-10
75.8%
#22692: fix(memory-lancedb): [P1] add missing runtime deps — plugin broken ...
by mahsumaktas · 2026-02-21
75.0%
#2556: fix(plugin-install): handle existing plugins and filter workspace deps
by longmaba · 2026-01-27
73.3%
#20424: Fix plugin extension path traversal in discovery/install
by markmusson · 2026-02-18
73.2%
#20278: Fix/matrix missing bot sdk dependency
by saurav470 · 2026-02-18
72.7%