Rebase Vite/Vitest tooling onto MSM stack (build/test only, no threadman rewrite)#186
Open
OBrezhniev wants to merge 3 commits into
Open
Rebase Vite/Vitest tooling onto MSM stack (build/test only, no threadman rewrite)#186OBrezhniev wants to merge 3 commits into
OBrezhniev wants to merge 3 commits into
Conversation
Rollup -> Vite, Mocha/Chai -> Vitest, flat eslint.config.js, CI workflow. Deliberately does NOT adopt the feat/esm-migration workerpool/threadman rewrite: our WorkerSlot threadman + batch-affine MSM module wiring in threadman.js/threadman_thread.js and the web-worker dependency are kept as-is. The Vite browser build reproduces the old rollup config exactly: bakes the worker thread function in as a string literal, strips the node-only web-worker import, and keeps wasmbuilder/wasmcurves external (lazy). Tests converted in place (chai->vitest imports, before/after-> beforeAll/afterAll, mocha timeout API dropped for the global testTimeout), preserving our GLV/GLS/batching/chunked-reader coverage and the SES lockdown harness (run as a child process). Node build.cjs + browser ESM verified; 67 tests pass incl. SES. Browser Vitest project is intentionally omitted: it needs the threadman platform split from feat/esm-migration, which is out of scope here.
Member
Author
|
ESM-rebase set — the tooling migration re-applied on top of our optimization stack (rather than replaying the branches), so the MSM/CIOS/memory work is preserved. Review together:
Deviations from feat/esm-migration are called out in each PR body (e.g. binfileutils MAX_BUFFER_SIZE, snarkjs IIFE/bfj, mnt6753 excluded, smart_contracts test deferred). All branches keep git+https commit-ref pins; re-pin if a branch moves. |
This was referenced Jul 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rebase tooling migration onto our MSM stack — build/test ONLY (Vite + Vitest)
Applies the
feat/esm-migrationbuild and test tooling on top of ourfeature/msm-signed-bucketswork. Target:feat/esm-migration.Deliberately does NOT port the workerpool/threadman rewrite. Our
threadman.js(WorkerSlot + 2-phase termination) andthreadman_thread.js(batch-affine MSM second-module INIT wiring: f1m/g1m + f2m/g2m +
f_conj,GLV/GLS entry binding,
Batch(NoGls|NoGlv)?fallback) plus theweb-workerdependency are kept as-is — that path carries the MSM acceleration.
eslint.config.js, CI.worker thread function in as a string literal (so bundlers / monkey-patching
frameworks can't mangle it), strips the node-only
web-workerimport, andkeeps wasmbuilder/wasmcurves external (lazy).
before/after→beforeAll/afterAll,mocha timeout API → global
testTimeout), preserving our GLV/GLS/batching/chunked-reader coverage and the SES lockdown harness (run as a child process).
Not included: a browser Vitest project — it needs the threadman platform
split from this stack, which we intentionally didn't take. The browser build
is produced and verified.
Validation: node
main.cjs+ browser ESM verified; 67 tests pass incl. SES.