Seen in sneak/bsdaily#11, which vendors the canonical node and yarn setup from this repo at cc440118c876: under node 24, yarn install with the pinned yarn 1.22.22 prints the deprecation warning DEP0169 (url.parse()).
It shows on the CI runner image (docker.gitea.com/runner-images:ubuntu-latest), which ships its own node and corepack, so the canonical script/bootstrap uses that node instead of installing the pinned node 22. Nothing fails; the warning is printed on every bootstrap.
Options:
The canonical script/bootstrap uses the pinned node even when another node is already on PATH (recommended: the pin then means what it says, and the warning goes away).
Move the yarn pin off yarn 1 (1.22.22 is its last release), which changes every consuming repo's lockfile.
Model: opus-5-5
Seen in https://git.eeqj.de/sneak/bsdaily/pulls/11, which vendors the canonical node and yarn setup from this repo at `cc440118c876`: under node 24, `yarn install` with the pinned yarn 1.22.22 prints the deprecation warning DEP0169 (`url.parse()`).
It shows on the CI runner image (`docker.gitea.com/runner-images:ubuntu-latest`), which ships its own node and corepack, so the canonical `script/bootstrap` uses that node instead of installing the pinned node 22. Nothing fails; the warning is printed on every bootstrap.
Options:
- The canonical `script/bootstrap` uses the pinned node even when another node is already on `PATH` (recommended: the pin then means what it says, and the warning goes away).
- Move the yarn pin off yarn 1 (1.22.22 is its last release), which changes every consuming repo's lockfile.
Model: opus-5-5
Question: should the canonical script/bootstrap install and use the pinned node even when another node is already installed?
prompts/REPO_POLICIES.md says today that bootstrap "uses the installed node if present", and only otherwise installs the pinned version. The CI runner image ships node 24, so CI runs the pinned yarn 1.22.22 under node 24, which prints this deprecation warning on every bootstrap. Nothing fails.
Options:
Always install and use the pinned node, whatever is already installed. The pin then means what it says everywhere and the warning goes away. Cost: every bootstrap on a host with its own node also installs the pinned one under nvm.
Keep using the installed node and move yarn off yarn 1 (1.22.22 is its last release). Changes every consuming repository's lockfile and setup.
Leave it and accept the warning.
Recommendation: option 1.
Model: opus-5-5
Question: should the canonical `script/bootstrap` install and use the pinned node even when another node is already installed?
`prompts/REPO_POLICIES.md` says today that bootstrap "uses the installed node if present", and only otherwise installs the pinned version. The CI runner image ships node 24, so CI runs the pinned yarn 1.22.22 under node 24, which prints this deprecation warning on every bootstrap. Nothing fails.
Options:
1. Always install and use the pinned node, whatever is already installed. The pin then means what it says everywhere and the warning goes away. Cost: every bootstrap on a host with its own node also installs the pinned one under nvm.
2. Keep using the installed node and move yarn off yarn 1 (1.22.22 is its last release). Changes every consuming repository's lockfile and setup.
3. Leave it and accept the warning.
Recommendation: option 1.
Model: opus-5-5
sneak
was assigned by clawbot2026-10-07 10:33:46 +02:00
This no longer waits on you: the recommended option is small and easy to undo, so it is being built. Reply here to choose differently.
Plan, refining option 1. The Dockerfile stages run script/bootstrap on a pinned node 22 alpine image whose exact version is not the pin, and nvm cannot install a prebuilt node on alpine, so "always install the pinned node" would break them. Instead:
script/bootstrap uses the installed node only when its major version is the pinned one (22); otherwise it installs the pinned NODE_VERSION with nvm, as it already does when node is missing, and installs yarn and the packages under it.
script/fmt and script/fmt-check use the nvm-installed pinned node when it is there, and the yarn on PATH otherwise.
prompts/REPO_POLICIES.md (the bootstrap paragraph) and any checklist item that describes it say so; a TODO.md entry.
Done when a fresh checkout bootstrapped on a host whose own node is 24 prints no DEP0169 warning, and script/cibuild passes.
Model: opus-5-5
This no longer waits on you: the recommended option is small and easy to undo, so it is being built. Reply here to choose differently.
Plan, refining option 1. The `Dockerfile` stages run `script/bootstrap` on a pinned node 22 alpine image whose exact version is not the pin, and nvm cannot install a prebuilt node on alpine, so "always install the pinned node" would break them. Instead:
- `script/bootstrap` uses the installed node only when its major version is the pinned one (22); otherwise it installs the pinned `NODE_VERSION` with nvm, as it already does when node is missing, and installs yarn and the packages under it.
- `script/fmt` and `script/fmt-check` use the nvm-installed pinned node when it is there, and the `yarn` on `PATH` otherwise.
- `prompts/REPO_POLICIES.md` (the bootstrap paragraph) and any checklist item that describes it say so; a `TODO.md` entry.
Done when a fresh checkout bootstrapped on a host whose own node is 24 prints no DEP0169 warning, and `script/cibuild` passes.
Model: opus-5-5
sneak
was unassigned by clawbot2026-10-08 02:19:57 +02:00
clawbot
self-assigned this 2026-10-08 02:19:57 +02:00
Built as planned above in #127: script/bootstrap uses the installed node only when it is the pinned major and otherwise installs the pinned node with nvm and runs yarn under it; script/fmt and script/fmt-check prefer nvm's pinned node when it is installed. Not tried on the Gitea runner.
Model: opus-5-5
Built as planned above in https://git.eeqj.de/sneak/prompts/pulls/127: `script/bootstrap` uses the installed node only when it is the pinned major and otherwise installs the pinned node with nvm and runs yarn under it; `script/fmt` and `script/fmt-check` prefer nvm's pinned node when it is installed. Not tried on the Gitea runner.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Seen in sneak/bsdaily#11, which vendors the canonical node and yarn setup from this repo at
cc440118c876: under node 24,yarn installwith the pinned yarn 1.22.22 prints the deprecation warning DEP0169 (url.parse()).It shows on the CI runner image (
docker.gitea.com/runner-images:ubuntu-latest), which ships its own node and corepack, so the canonicalscript/bootstrapuses that node instead of installing the pinned node 22. Nothing fails; the warning is printed on every bootstrap.Options:
script/bootstrapuses the pinned node even when another node is already onPATH(recommended: the pin then means what it says, and the warning goes away).Model: opus-5-5
Question: should the canonical
script/bootstrapinstall and use the pinned node even when another node is already installed?prompts/REPO_POLICIES.mdsays today that bootstrap "uses the installed node if present", and only otherwise installs the pinned version. The CI runner image ships node 24, so CI runs the pinned yarn 1.22.22 under node 24, which prints this deprecation warning on every bootstrap. Nothing fails.Options:
Recommendation: option 1.
Model: opus-5-5
This no longer waits on you: the recommended option is small and easy to undo, so it is being built. Reply here to choose differently.
Plan, refining option 1. The
Dockerfilestages runscript/bootstrapon a pinned node 22 alpine image whose exact version is not the pin, and nvm cannot install a prebuilt node on alpine, so "always install the pinned node" would break them. Instead:script/bootstrapuses the installed node only when its major version is the pinned one (22); otherwise it installs the pinnedNODE_VERSIONwith nvm, as it already does when node is missing, and installs yarn and the packages under it.script/fmtandscript/fmt-checkuse the nvm-installed pinned node when it is there, and theyarnonPATHotherwise.prompts/REPO_POLICIES.md(the bootstrap paragraph) and any checklist item that describes it say so; aTODO.mdentry.Done when a fresh checkout bootstrapped on a host whose own node is 24 prints no DEP0169 warning, and
script/cibuildpasses.Model: opus-5-5
Built as planned above in #127:
script/bootstrapuses the installed node only when it is the pinned major and otherwise installs the pinned node with nvm and runs yarn under it;script/fmtandscript/fmt-checkprefer nvm's pinned node when it is installed. Not tried on the Gitea runner.Model: opus-5-5