Skip to content

Dependency updates: rollup 4, eslint 10, mocha 11; ffjavascript commit-ref pin - #105

Open
OBrezhniev wants to merge 35 commits into
masterfrom
feature/deps-update
Open

Dependency updates: rollup 4, eslint 10, mocha 11; ffjavascript commit-ref pin#105
OBrezhniev wants to merge 35 commits into
masterfrom
feature/deps-update

Conversation

@OBrezhniev

Copy link
Copy Markdown
Member

Dependency updates: rollup 4, eslint 10, mocha 11; ffjavascript commit-ref pin

Summary

Companion to the snarkjs feature/memory-scoping PR (which pins this branch
by commit ref).

  • devDependencies — rollup 2 → 4, eslint 8 → 10 (.eslintrc.cjs migrated
    to flat eslint.config.mjs), mocha 10 → 11; bundle rebuilt, 3 tests pass.
  • Dropped an unused catch binding flagged by the new config.
  • ffjavascript pinned as a git+https://…#<commit> ref to the
    feature/msm-signed-buckets head this stack is developed against; local
    development uses an uncommitted file:../ override. Lockfile regenerated
    against the pin.

Landing order

After the ffjavascript PR lands; alternatively re-point the pin at the next
published ffjavascript version at merge time.

🤖 Generated with Claude Code

Migrates .eslintrc.cjs to flat eslint.config.mjs; drops an unused catch
binding. 3 tests pass; bundle rebuilds cleanly.
Points at the ffjavascript feature branch this stack is developed
against (resolves once that branch is pushed). For local development
keep an uncommitted file:../ffjavascript override in the working tree.
git+https installs anonymously (git+ssh needs SSH credentials).
@OBrezhniev

Copy link
Copy Markdown
Member Author

OBrezhniev and others added 16 commits July 4, 2026 20:17
js-yaml bumped in-range; serialize-javascript ^7.0.5 and diff ^8.0.3
overridden (mocha pins vulnerable ranges). npm audit clean.
…, and wrong-magic rejection

Corrupts the constraint section's bytes on disk and confirms
readR1csHeader (loadConstraints:false) still returns correct header
fields -- proving the lazy header-only read path genuinely never
touches that data, not just that it happens to work on well-formed
files. A follow-up loadConstraints:true call on the SAME corrupted
file confirms the corruption is real (it throws), so the header-only
success isn't a false negative.

Also covers rejection of a file with the wrong magic string, which had
no coverage.
…8% / 68% / 71%)

New suite covers everything the parser tests skipped:

- writeR1cs/writeR1csHeader/writeR1csConstraints/writeR1csMap via a full
  write -> read round-trip against the example fixture, the cir.curve.Fr
  fallback when cir.F is absent, write progress logging, and the
  invalid-map-size rejection
- a round-trip over a non-pairing prime (goldilocks), covering the
  getCurveFromR-throws -> F1Field fallback in readR1csHeader
- readR1csHeader field-resolution options: caller-provided F (including
  the Different Prime rejection), getFieldFromPrime and getCurveFromPrime
  factories, undefined/boolean singleThread normalization
- readR1cs with no options; readR1csFd non-object options rejection
- readConstraints/readMap options-object and legacy positional logger
  forms (the positional branch only fires for a non-object logger, since
  any object 4th argument is taken as the options bag)
- BigArray paths: a crafted (2^20)+1-constraint/map/custom-gate-use file
  exercises the BigArray selection and mid-run progress logging in
  readConstraints, readMap and readCustomGatesUsesSection

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01833VaUEJmrFZ7bVprrWwpp
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01833VaUEJmrFZ7bVprrWwpp
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01833VaUEJmrFZ7bVprrWwpp
…s-update)

Port of the feature/esm-tooling migration (2b829dc) onto the current branch:
Rollup -> Vite, Mocha -> Vitest, flat eslint.config.js, CI workflow. Our
post-fork round-trip/introspection suite (r1csfile_more.test.js) converted
(this.timeout dropped; the stringifyBigInts helper it imports is exported
from test/r1csfile.js again).

Re-pinned ffjavascript to 4ac1cba (Vite+Vitest migration landed there);
vitest ^4.1.11 (GHSA-p63j-vcc4-9vmv); postcss/brace-expansion overrides
added (npm audit clean).

20 tests pass; lint clean; CJS build regenerated with vite.

(cherry picked from commit 2b829dc)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01833VaUEJmrFZ7bVprrWwpp
@OBrezhniev
OBrezhniev force-pushed the feature/deps-update branch from 802f02d to 09b93c2 Compare August 26, 2026 17:12
OBrezhniev and others added 11 commits August 27, 2026 12:19
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01833VaUEJmrFZ7bVprrWwpp
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01833VaUEJmrFZ7bVprrWwpp
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01833VaUEJmrFZ7bVprrWwpp
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01833VaUEJmrFZ7bVprrWwpp
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01833VaUEJmrFZ7bVprrWwpp
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01833VaUEJmrFZ7bVprrWwpp
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