feat(tool): add nub package manager - #7054
colinhacks wants to merge 2 commits into
Conversation
Add nub (https://nubjs.com) as an npm-distributed tool. Installs @nubjs/nub via the shared NpmBaseInstallService; the tool name (nub) differs from the npm package (@nubjs/nub), so tool() is overridden like YarnInstallService does for berry.
viceice
left a comment
There was a problem hiding this comment.
please link al relevant renovate discussion / issue / pr
| override async test(): Promise<void> { | ||
| await this._spawn(this.name, ['--version']); | ||
| } |
There was a problem hiding this comment.
I think this is not needed and should work out of the box
The base NpmBaseInstallService.test() already strips the package scope (@nubjs/nub -> nub) before spawning --version, so the override was identical to the inherited behavior.
|
Removed the Linked the companion Renovate manager PR (renovatebot/renovate#44422) in the description — it's the only related Renovate change, no separate issue or discussion. |
viceice
left a comment
There was a problem hiding this comment.
- update
docs/custom-registries.md - add test to
test/node/Dockerfile
|
i wonder if we should install github release binaries instead. those are better cachable and we can validate the checksum. 🤔 |
|
I had my agent implement the github releases strategy here: https://github.com/jpenilla/base/tree/feat/nub-release-binaries Would be great to see nub support in renovate. Feel free to copy from that branch or let me know if I should open a PR. |
You can open a new PR with you changes. |
|
closing in favor of #7463 |
Adds a
nubtool.Nub is a Node package manager published as
@nubjs/nubon npm. This lets Containerbase provision it the same way it provisions the other Node package managers, so a runtime using the defaultbinarySource=installcan install nub to run lockfile updates.Implementation
NubInstallServiceextendsNpmBaseInstallServiceand overridestool()to return@nubjs/nub— the tool name (nub) differs from the npm package, the same shape asYarnInstallServicereturning@yarnpkg/cli-distfor Yarn berry. It installs vianpm install @nubjs/nub@<version>and is added toNoPrepareTools.Scripts run on install (no
--ignore-scripts):@nubjs/nub'spostinstallselects and places the per-platform binary from its@nubjs/nub-<platform>optional dependencies (glibc and musl variants for linux-x64 and linux-arm64), so the tool is usable after install.Context
Related: renovatebot/renovate#44422 — the companion Renovate manager PR (
nubpackage-manager manager) that depends on this tool for its defaultbinarySource=installruntime.AI assistance disclosure
This change was written with substantive assistance from an AI coding agent (Claude).