Skip to content

chore(apps): drop unused dockerode dependency#746

Closed
G4614 wants to merge 1 commit into
mainfrom
chore/drop-unused-dockerode
Closed

chore(apps): drop unused dockerode dependency#746
G4614 wants to merge 1 commit into
mainfrom
chore/drop-unused-dockerode

Conversation

@G4614

@G4614 G4614 commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

dockerode was imported from Daytona in #460 but nothing in the boxlite source tree uses it; removing it drops the entire dockerode → docker-modem → ssh2 → cpu-features chain, which is the only reason Alpine-based Dockerfiles need a C/C++ toolchain at yarn install time.

Test plan

Before After
grep -rE '(import|require).{0,30}dockerode' apps --include='*.ts' (excl. node_modules) 0 hits 0 hits
yarn why cpu-features in apps/ ssh2 → cpu-features (via dockerode → docker-modem → ssh2) Package not found in dependencies
apps/yarn.lock lines mentioning cpu-features, docker-modem, dockerode, ssh2@ 4 distinct package blocks 0
apps/yarn.lock total −161 lines
apps/otel-collector/Dockerfile needs apk add python3 make g++ (added in #745) yes no — apk add git is sufficient again

Once this lands, the apk add --no-cache python3 make g++ line in #745 can be dropped; the path-fix half of #745 (builder-config.yaml) is independent and still needed.

Summary by CodeRabbit

  • Chores
    • Updated project dependencies to improve development workflow and debugging capabilities.

dockerode (and @types/dockerode) was declared in apps/package.json since
the Daytona workspace import in #460 but is not imported anywhere in the
boxlite source tree. The only references are inside node_modules itself.

Removing it drops the transitive chain dockerode -> docker-modem -> ssh2
-> cpu-features. cpu-features is the optional native addon that forces
Alpine Docker builds to install python3 + make + g++ (only added in
#745 to unblock otel-collector after #730) because ssh2's prebuilt
binary doesn't ship a musl build and falls back to node-gyp.
@G4614 G4614 requested a review from a team as a code owner June 12, 2026 11:28
@coderabbitai

coderabbitai Bot commented Jun 12, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 3c38c7c7-7798-4381-ac46-fb14e6372658

📥 Commits

Reviewing files that changed from the base of the PR and between 20873af and 5037578.

⛔ Files ignored due to path filters (1)
  • apps/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (1)
  • apps/package.json
💤 Files with no reviewable changes (1)
  • apps/package.json

📝 Walkthrough

Walkthrough

The PR updates apps/package.json by removing the dockerode package dependency and adjusting development tooling: removing @types/dockerode while adding @tanstack/react-query-devtools, @trivago/prettier-plugin-sort-imports, and @types/busboy to devDependencies.

Changes

Dependency Updates

Layer / File(s) Summary
Package dependencies and dev tools
apps/package.json
The dockerode runtime dependency is removed, and devDependencies are updated: @types/dockerode is removed; @tanstack/react-query-devtools, @trivago/prettier-plugin-sort-imports, and @types/busboy are added.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 Dependencies dance, old ones fade away,
New tools arrive to brighten the dev day,
Docker goodbye, React Query stays to play,
Sorted imports and busboy join the array! 📦✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: removing the unused dockerode dependency from the apps package.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/drop-unused-dockerode

Comment @coderabbitai help to get the list of available commands and usage tips.

G4614 added a commit that referenced this pull request Jun 12, 2026
Merging the substantive bits of #745 and #746 here so PR #724's
deploy-app-services CI can actually push an otel-collector image:

* otel-collector/builder-config.yaml: fix module paths after #730
  moved everything under apps/ (was: ../../../api-client-go etc.,
  now: ../../../apps/api-client-go). The OCB build was failing with
  `filepath does not exist: /boxlite/otel-collector/exporter`. (#745)
* otel-collector/Dockerfile: apk add python3 make g++ so node-gyp
  can compile any musl-incompatible native add-on during workspace
  `yarn install`. Kept even after dropping dockerode below — small
  safety net in case future deps reintroduce a native build. (#745)
* apps/package.json: drop unused dockerode + @types/dockerode. They
  were inherited from the Daytona import in #460 but never imported
  in source. Drops the dockerode -> docker-modem -> ssh2 ->
  cpu-features chain; cpu-features was the optional native addon
  that forced the toolchain workaround in the first place. (#746)
* apps/yarn.lock: regenerated (-161 lines).
* apps/api-client-go/api/openapi.yaml: regenerate to catch up with
  main's existing `assignedRoleIds.default: []` drift so the
  api-client-drift PR check passes.
@G4614

G4614 commented Jun 12, 2026

Copy link
Copy Markdown
Contributor Author

Closing — see follow-up plan

@G4614 G4614 closed this Jun 12, 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