Skip to content

Build every language and release one edition - #82

Merged
sidkmenon merged 2 commits into
grammar-disk-cachefrom
one-edition
Oct 4, 2026
Merged

sidkmenon merged 2 commits into
grammar-disk-cachefrom
one-edition

Conversation

@sidkmenon

@sidkmenon sidkmenon commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

Stacked on #81. With compressed grammar tables, the nine optional languages (Apex, Fortran, F#, Haskell, Julia, OCaml, QML, Verilog, VHDL) add 4.1 MB to a release binary: 62.12 MB with them, against 108.07 MB for main's lean build.

  • Builds every language by default: removes all-languages, the nine lang-* features, their cfg gates, the CLI test that checked them, and that test's CI step. That step had been warming wasmtime's plugin cache for the npm contract tests, so those now allow 30 s.
  • Releases one edition: drops the diffr-cli-full archive from the release workflow and scripts/release.py, and removes diffr-fetch --full and its pins from @dev.fast/diffr.

Anything that runs diffr-fetch --full will now fail with an unknown-option error.

AI assistance: written with Claude Code; reviewed by the author.

https://claude.ai/code/session_01KDZ845xr2ngWfAabx9dg8z

@sidkmenon
sidkmenon added this pull request to stack #83 October 4, 2026 00:24
@sidkmenon
sidkmenon force-pushed the one-edition branch 3 times, most recently from 8212ea4 to 276eac4 Compare October 4, 2026 01:30
Packed grammar tables make the nine optional languages (Apex, Fortran,
F#, Haskell, Julia, OCaml, QML, Verilog, VHDL) cost 4.1 MB in a release
binary, so drop their Cargo features and the all-languages feature. The
CLI test that checked those features is removed with them, along with
the CI step that ran it.

That step also ran diffr before the npm contract tests, warming
wasmtime's plugin cache. Without it, the first contract test compiles the
bundled plugins into an empty cache and exceeded bun's 5 s timeout on a CI
runner, so those tests now allow 30 s.

AI assistance: written with Claude Code; reviewed by the author.

Claude-Session: https://claude.ai/code/session_01KDZ845xr2ngWfAabx9dg8z
Agent-Session: a21f1781-9b0d-47f6-a269-e93bb179c266
Agent-Session: dca03de1-4350-4b24-b376-cb54c86fcc2d
Every build now includes all languages, so releases stop building and
packaging the separate diffr-cli-full archive, and the npm fetcher drops
its --full flag and full-edition pins.

AI assistance: written with Claude Code; reviewed by the author.

Claude-Session: https://claude.ai/code/session_01KDZ845xr2ngWfAabx9dg8z
Agent-Session: a21f1781-9b0d-47f6-a269-e93bb179c266
Agent-Session: dca03de1-4350-4b24-b376-cb54c86fcc2d
@sidkmenon
sidkmenon merged commit 31539ed into main Oct 4, 2026
54 checks passed
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