Visitar URL original
chore(deps): bump @types/node from 26.2.0 to 26.4.0 in /packages/vscode by dependabot[bot] · Pull Request #2202 · rustledger/rustledger · GitHub
Skip to content

chore(deps): bump @types/node from 26.2.0 to 26.4.0 in /packages/vscode - #2202

Merged
github-actions[bot] merged 2 commits into
mainfrom
dependabot/npm_and_yarn/packages/vscode/types/node-26.4.0
Sep 1, 2026
Merged

github-actions[bot] merged 2 commits into
mainfrom
dependabot/npm_and_yarn/packages/vscode/types/node-26.4.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 31, 2026

Copy link
Copy Markdown
Contributor

Bumps @types/node from 26.2.0 to 26.4.0.

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 26.2.0 to 26.4.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 26.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added the dependencies Pull requests that update a dependency label Aug 31, 2026
@dependabot
dependabot Bot requested a review from a team as a code owner August 31, 2026 15:47
@dependabot dependabot Bot added the dependencies Pull requests that update a dependency label Aug 31, 2026
@github-actions
github-actions Bot enabled auto-merge (squash) August 31, 2026 15:48
@github-actions

github-actions Bot commented Aug 31, 2026 •

Copy link
Copy Markdown
Contributor

✅ Compatibility Test Results

Metric Result
Check Compatibility 100%
BQL Compatibility 99% (raw 93%, 169 masked)
Full AST Match 100%
Total Files 812
What's tested
  • Check: Exit codes and error counts match bean-check
  • BQL: Query results match bean-query
    The headline is the EFFECTIVE rate, after pairs where beanquery
    itself is wrong are masked. raw is the same run with nothing
    masked. A widening gap means the registry grew, not that rledger
    changed.
  • Files: ~800 test files downloaded from 10+ beancount repositories

Full results available in workflow artifacts

`flake.nix` pins the hash of the vendored npm dependencies, and this
bump changed `packages/vscode/package-lock.json`, so the fixed-output
derivation no longer matched:

    error: hash mismatch in fixed-output derivation
    error: Cannot build '...-rustledger-vscode-vsix-0.22.0'

Dependabot cannot fix this itself -- it updates the lockfile and has no
way to know a Nix expression pins a hash of it -- so every npm bump
lands red until someone recomputes the hash by hand. That is why this PR
could not go green on its own.

New hash from `prefetch-npm-deps packages/vscode/package-lock.json`, and
`nix build .#vscode-extension` (the exact command the CI job runs) now
succeeds.
@robcohen

robcohen commented Sep 1, 2026

Copy link
Copy Markdown
Member

Pushed 124d33f4ed: the Nix build needed its npmDepsHash updated.

flake.nix pins the hash of the vendored npm dependencies, so changing package-lock.json breaks the fixed-output derivation:

error: hash mismatch in fixed-output derivation
error: Cannot build '...-rustledger-vscode-vsix-0.22.0'

Dependabot cannot do this itself — it updates the lockfile and has no way to know a Nix expression pins a hash of it — so every npm bump in this package lands red until someone recomputes the hash by hand. Worth knowing as a recurring cost rather than a one-off.

New hash from prefetch-npm-deps packages/vscode/package-lock.json, and nix build .#vscode-extension — the exact command the failing job runs — now succeeds locally.

@codecov

codecov Bot commented Sep 1, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions
github-actions Bot merged commit 3005835 into main Sep 1, 2026
43 of 45 checks passed
@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/packages/vscode/types/node-26.4.0 branch September 1, 2026 18:07
robcohen added a commit that referenced this pull request Sep 8, 2026
* ci(nix): refresh the vscode npmDepsHash automatically

`flake.nix` pins `npmDepsHash` over packages/vscode/package-lock.json,
because buildNpmPackage hashes the vendored dependency tree. Dependabot
updates the lockfile and has no way to know a Nix expression hashes it,
so every npm bump to that package landed red on a fixed-output mismatch
and sat there until somebody recomputed the hash by hand. That is #2109,
#2202 and #2243, and both currently open dependabot PRs (#2269, #2272).
`build` requires that job, so none of them could ever merge unattended.

There was no tooling for it: nothing in .github, scripts or the justfile
mentioned prefetch-npm-deps. The repair was folklore.

Adds a workflow that recomputes the hash on any pull request touching the
lockfile and commits it to the branch. It is deliberately separate from
the `VS Code Extension (Nix)` job: that job verifies, this one repairs,
and a verifier that silently rewrites what it is checking is worse than
one that fails.

It cannot push to a fork, so it always writes the correct value to the
job summary as well. A contributor whose PR it cannot fix still gets the
exact line to change instead of a bare Nix hash mismatch.

The push is self-terminating: it only commits when the computed hash
differs, so the run it triggers finds a match and stops.

Also adds `just nix-refresh-vscode-hash` for the same repair locally, and
documents both in CONTRIBUTING.

Verified rather than assumed: the recipe reports "already correct" on
main, and when flake.nix is corrupted it repairs the value and restores
the file byte-identically.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012nNGPA44Dt32NyxWem26xr

* fix(nix): keep prefetch stderr, and drop the GNU-only sed

Copilot review on #2284, both valid.

Discarding prefetch-npm-deps stderr meant any real failure — network,
auth, a lockfile it cannot parse — surfaced only as "produced no hash",
which says nothing about why. That is the same silent-failure shape this
whole change exists to remove, one level up. stderr is captured and
printed when no hash comes back.

The justfile used `sed -i` with no suffix, which is GNU-only: BSD and
macOS sed take a mandatory argument there, and no single spelling works
on both. Replaced with write-to-temp and move. The workflow's own sed
runs on ubuntu-latest so it was never affected, but the recipe is for
contributors, some of whom are on macOS.

Re-verified both directions after the change: the recipe repairs a
corrupted hash and restores flake.nix byte-identically, and reports
"already correct" when it is.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012nNGPA44Dt32NyxWem26xr

* fix(ci): report the npmDepsHash instead of pushing it

CodeQL on #2284: unsafe checkout of untrusted code in a non-privileged
context. The finding is correct. The job held `contents: write`, checked
out pull-request head code, and ran a tool over a lockfile the pull
request controls. That is the shape of the problem, regardless of whether
this particular tool is exploitable.

Automating the commit safely needs the two-stage `workflow_run` split,
where the privileged half never checks out untrusted code. That is a lot
of machinery for a one-line repair, so the job now reports instead: it
fails with the exact value to set, in both the error annotation and the
job summary, and `just nix-refresh-vscode-hash` applies it in one
command.

That keeps what actually made this recur — nobody knew the command, and
nothing in the repo mentioned prefetch-npm-deps — while dropping the
write permission and the head-ref checkout entirely. The job now needs no
permissions beyond the read-only default and takes the ordinary
merge-commit checkout.

Worth revisiting with the workflow_run split if reporting proves to be a
nuisance rather than a fix.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012nNGPA44Dt32NyxWem26xr

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant