Skip to content

Rebase Vite/Vitest tooling onto direct-io stack#137

Open
OBrezhniev wants to merge 3 commits into
feature/direct_rw_optimizationfrom
feature/esm-tooling
Open

Rebase Vite/Vitest tooling onto direct-io stack#137
OBrezhniev wants to merge 3 commits into
feature/direct_rw_optimizationfrom
feature/esm-tooling

Conversation

@OBrezhniev

Copy link
Copy Markdown
Member

Rebase tooling migration onto our direct-io stack (Vite + Vitest)

Applies feat/esm-migration tooling on top of our
feature/direct_rw_optimization work. Target: feat/esm-migration.

  • Rollup → Vite (build/node/main.cjs + browser esm/iife), Mocha/Chai → Vitest
    (node-esm / node-cjs / browser projects), flat eslint.config.js, CI.
  • Adopts your explicit browser/node split (src/fastfile.browser.js +
    exports.browser), which supersedes our runtime-detection + constants.browser.js
    compat approach. Our direct-io fast paths in osfile.js are untouched and
    still used by the node fastfile.js (type:fileosfile.open()); our
    BigBuffer direct-io regression tests are ported into the Vitest osfile suite.
  • Keeps our audit overrides (serialize-javascript / diff / minimatch).

Validation: 20 node + 8 browser tests pass; CJS require + browser ESM/IIFE verified.

Rollup -> Vite (build/node/main.cjs + browser esm/iife), Mocha/Chai -> Vitest
with node-esm / node-cjs / browser (Playwright) projects, flat eslint.config.js,
CI workflow.

Adopts the colleague's explicit browser/node split (src/fastfile.browser.js +
exports.browser condition), which supersedes our runtime-detection compat
approach (constants.browser.js + process-free Node detection removed). Our
direct-io fast paths in osfile.js are untouched and still used by the node
fastfile.js (routes type:file -> osfile open()). Ported our BigBuffer direct-io
regression tests into the Vitest osfile suite. Keeps audit overrides.

20 node tests + 8 browser tests pass; CJS require + browser ESM/IIFE verified.
@OBrezhniev

Copy link
Copy Markdown
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.

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