Skip to content

Fix bb plugin install for ten plugins and add thread-briefs and multi-repo to the collection - #61

Closed
ivyrhodes wants to merge 1 commit into
mainfrom
fix/plugin-install-peer-deps
Closed

ivyrhodes wants to merge 1 commit into
mainfrom
fix/plugin-install-peer-deps

Conversation

@ivyrhodes

Copy link
Copy Markdown

Problem

bb plugin install fails for ten of the fifteen plugins in this repo:

npm error Could not resolve dependency:
npm error peerOptional @types/better-sqlite3@"^7.6.12" from @get-bb/plugin-sdk@0.6.37
npm error Conflicting peer dependency: @types/better-sqlite3@7.6.13

#42 moved @types/better-sqlite3 to ^9.6.0. Every @get-bb/plugin-sdk release, up to and including the latest (0.6.68), declares a peer range of ^7.6.12. bb's git plugin installer runs npm install --ignore-scripts --omit dev --omit optional, which still resolves peer dependencies across the whole tree, so the install stops with ERESOLVE. CI didn't catch it because its install step passes --legacy-peer-deps.

Affected plugins: devbox-provider, github-watcher, linear, multi-repo, repo-dashboard, slack, stewards, team-setup, thread-briefs, workstreams.

Separately, thread-briefs and multi-repo are missing from .bb/plugins.json, so the install command in their READMEs (--plugin <name>) fails with .bb/plugins.json has no plugin "<name>".

Changes

  • Pin @types/better-sqlite3 back to ^7.6.12 in the ten affected plugins and regenerate their lockfiles. The only resolved-version change is 9.6.0 → 7.6.13. The other lockfile lines are npm changing dev to devOptional now that the peer dependency resolves. better-sqlite3@^13 stays, because the SDK accepts >=12.
  • CI: add an "Install as bb does" step that runs bb's install command as a dry run without --legacy-peer-deps. Add linear, multi-repo, repo-dashboard and slack to the matrix, since CI never checked them.
  • Dependabot: ignore @types/better-sqlite3 major updates until the SDK's peer range moves.
  • .bb/plugins.json: add thread-briefs and multi-repo. team-setup, linear, github-watcher, stewards and slack stay out, because they ship in the bb-gate server image rather than through the collection.

Verification

  • bb's install command (npm install --dry-run --ignore-scripts --omit dev --omit optional) failed for the ten affected plugins before this change and passes for all fifteen after it.
  • For each of the ten affected plugins, npm install --include=dev without --legacy-peer-deps, then typecheck and npm test, all pass.

🤖 Generated with Claude Code

…-repo to the collection

The npm group update in #42 moved @types/better-sqlite3 to ^9.6.0, but every
@get-bb/plugin-sdk release (through 0.6.68) declares a peer range of ^7.6.12.
bb's git plugin installer runs a plain `npm install --omit dev --omit optional`,
which still resolves peers and fails with ERESOLVE, so devbox-provider,
github-watcher, linear, multi-repo, repo-dashboard, slack, stewards,
team-setup, thread-briefs and workstreams could not be installed. CI did not
notice because it installs with --legacy-peer-deps.

- Pin @types/better-sqlite3 back to ^7.6.12 and regenerate the lockfiles.
- Add a CI step that runs bb's install command, and add linear, multi-repo,
  repo-dashboard and slack to the CI matrix.
- Stop Dependabot proposing @types/better-sqlite3 majors.
- Add thread-briefs and multi-repo to .bb/plugins.json, so the
  `--plugin <name>` install in their READMEs works.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ivyrhodes ivyrhodes closed this Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant