chore(apps): drop unused dockerode dependency#746
Conversation
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.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
💤 Files with no reviewable changes (1)
📝 WalkthroughWalkthroughThe PR updates ChangesDependency Updates
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
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.
|
Closing — see follow-up plan |
dockerodewas imported from Daytona in #460 but nothing in the boxlite source tree uses it; removing it drops the entiredockerode → docker-modem → ssh2 → cpu-featureschain, which is the only reason Alpine-based Dockerfiles need a C/C++ toolchain atyarn installtime.Test plan
grep -rE '(import|require).{0,30}dockerode' apps --include='*.ts'(excl. node_modules)yarn why cpu-featuresinapps/ssh2 → cpu-features(viadockerode → docker-modem → ssh2)Package not found in dependenciesapps/yarn.locklines mentioningcpu-features,docker-modem,dockerode,ssh2@apps/yarn.locktotalapps/otel-collector/Dockerfileneedsapk add python3 make g++(added in #745)apk add gitis sufficient againOnce 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