Skip to content

Consume deltic from JSR across conformance, demo, and wpt parity - #46

Merged
lann merged 1 commit into
mainfrom
jsr-deltic-packages
Aug 11, 2026
Merged

Consume deltic from JSR across conformance, demo, and wpt parity#46
lann merged 1 commit into
mainfrom
jsr-deltic-packages

Conversation

@lann

@lann lann commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

Follow-up to the ecosystem ruling in polymorph-iroh#45: every deltic consumption surface in this repo — the host module, the conformance leg (deno + browser), the demo, and the WPT parity carrier — moves from raw.githubusercontent URLs + the sha-pinned release-asset fetch to the JSR prereleases deltic publishes per green commit (0.1.0-pre.g<shorthash>, same hash as the GitHub release). Pin bump rides along: pre-58b2404ga67ee83 (~61 upstream commits; the consumed surface — embedder, runSuite, Translator.translate — is API-stable across it).

What this buys

  • fetch-translator.ts (TAG + sha256 + assertPinConsistency) retires. Deno-side runners (conformance run.ts, examples/deltic-demo) load the translator through the module graph via @deltic/translator — permission-free; release-asset net grants disappear from every recipe. --translator survives as an optional dev override.
  • Browser-side assets (conformance browser leg, WPT parity carrier, roundtrip/smoke drivers) are repo-built from the same pinned graph: the shared extract-deltic-translator recipe copies the packaged translator wasm out of the lock-pinned module cache into version-free target/deltic-browser/, and the @deltic/release-bundle-entry raw-URL alias is replaced by a local browser-bundle-entry.ts (upstream tools/release-bundle/entry.ts's exact surface). Worker protocol and the pinned @polymorph/component-test-js untouched.
  • The pin story collapses to two deno.jsons (host module + conformance leg) carrying the same version + their --frozen locks; just exam-deltic (wired into gha::conformance-checks) asserts one jsr:@deltic/* version repo-wide — the successor to assertPinConsistency.
  • minimumDependencyAge exempts jsr:@deltic/* per deltic's consumption README; everything else keeps Deno's default 24-hour supply-chain gate.

Discovered en route: Deno stores remote modules as body + a // denoCacheMetadata={…} trailer; copying a cached wasm asset wholesale yields a module that fails WebAssembly.compile in the page. The extraction script truncates to the graph-reported size and asserts wasm magic + trailer shape.

Not changed: worker protocol, @polymorph/component-test-js pin, Rust, WIT.

Gates (all green): just deltic-module-check 12/12; conformance-ct::run-deltic 55/55; conformance-ct::run-deltic-browser 55/55; demo::deltic 100/100 round-tripped; wpt::smoke ok; wpt::parity baseline 50/51 + round-trip 50/50, 0 known losses; wpt::parity-chromium 46/51 + 50/50 (exit 0); just exam-deltic; deno check --frozen across all changed graphs; leftover-reference grep clean.

@lann
lann merged commit a3b7fb1 into main Aug 11, 2026
2 checks passed
@lann
lann deleted the jsr-deltic-packages branch August 11, 2026 03:21
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