Skip to content

chore(deps): bump rescript-bindgen to ^1.4.0-beta.2 + regenerate for blend-design-system@0.0.38-beta.1 - #145

Merged
jagguji merged 1 commit into
mainfrom
chore/bump-bindgen-1.4.0-beta.2
Aug 19, 2026
Merged

chore(deps): bump rescript-bindgen to ^1.4.0-beta.2 + regenerate for blend-design-system@0.0.38-beta.1#145
jagguji merged 1 commit into
mainfrom
chore/bump-bindgen-1.4.0-beta.2

Conversation

@jagguji

@jagguji jagguji commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

Summary

Bumps @juspay/rescript-bindgen to ^1.4.0-beta.2 and @juspay/blend-design-system to 0.0.38-beta.1, regenerating bindings with both fixes applied. Supersedes #144, which regenerated against the same blend version but with rescript-bindgen@1.4.0-beta.1 — before these fixes existed.

Why not just #144

1.4.0-beta.1 doesn't crash on this blend version, but its output has a real quality problem: blend 0.0.38-beta.1 introduces ComponentTokenOverrides (a DeepPartial<ComponentTokenType> wrapper for ThemeProvider's token-override prop), which exposes a large CSS-property union (csstype Property.*, every CSS global keyword + every named color) through a second generic path. On 1.4.0-beta.1 that produces constructor names over 2,400 characters long (e.g. ...MozInitialOrInheritOr...OrAliceblueOrAntiquewhiteOr...) — technically correct, but unusable, and it lands directly in the type surface app developers touch when overriding tokens.

1.4.0-beta.2 fixes this and one more thing along the way:

  • finalizePublicIds no longer hard-crashes on a public-identity collision. An intermediate main build of bindgen (with the new name-freezing identity system) actually crashed with zero output on this exact blend version — SEARCH_INPUT's and MODAL's rangeDay token configs collide onto one ThemeProvider.rangeDay projection, and the old code treated any such collision as a hard abort. It now degrades to a shape-disambiguated id and warns instead.
  • Anonymous @unboxed union names are capped at 64 chars (readable prefix + shape hash) instead of enumerating every member. The 2,453-char name above is now 44 chars, e.g. mozInitialOrInheritOrInitialOrRevertEtc1mkx8.

Verification

  • _REPORT.md: 235 components · 226 usable · 9 need review · 0 broken — identical component classification to chore(sync): regenerate bindings for @juspay/blend-design-system@0.0.38-beta.1 #144, same 9 components flagged for review, 0 fidelity loss (0 loosely-typed).
  • Longest generated identifier: 114 chars (a legitimate descriptive name, TextArea's omitted-HTML-attributes type), down from 2,453+.
  • npm run build320 modules compiled, 0 errors.
  • Regeneration is deterministic — ran twice from a clean slate, byte-identical output.
  • No previously-fixed defect reappeared: no orphan JsFn.res, no unreferenced shared-type modules; the one new module (ChartsSharedTypes.res) matches a documented SCC-merge dissolution, not a regression.

Reviewer checklist

  • npm run build is green (CI will block if not)
  • src/_REPORT.md shows 0 broken components; skim any flagged/loose props
  • Diff looks sensible — especially prop/variant renames that could break downstream consumers
  • Version = blend version (set automatically via --set-version)

🤖 Generated with Claude Code

…ate for blend-design-system@0.0.38-beta.1

rescript-bindgen 1.4.0-beta.2 fixes two regressions that blocked a clean regen
against blend 0.0.38-beta.1's new ComponentTokenOverrides token-override type:

- finalizePublicIds no longer hard-crashes on a public-identity collision
  (SEARCH_INPUT vs MODAL rangeDay configs colliding on one projection); it now
  degrades to a shape-disambiguated id and warns instead of aborting the run.
- Anonymous @unboxed union names are now capped at 64 chars (readable prefix +
  shape hash) instead of enumerating every member — the longest generated
  identifier drops from 2,453+ chars to 114.

235 components / 226 usable / 9 need review / 0 broken (unchanged). Verified
the regenerated bindings compile clean (rescript build, 320 modules, 0 errors)
and are deterministic across repeated generations.

Supersedes #144.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@jagguji
jagguji merged commit dc397d9 into main Aug 19, 2026
6 checks passed
jagguji added a commit that referenced this pull request Aug 19, 2026
… regenerate for blend-design-system@0.0.38-beta.1 (#145)" (#146)

This reverts commit dc397d9.
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