Consume deltic from JSR: packaged translator, repo-built browser assets - #84
Merged
Conversation
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.
Follow-up to the ecosystem ruling in polymorph-iroh#45: deltic consumption 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-83fff30→ga67ee83(~75 upstream commits; this repo's deltic surface —runSuite,Translator.translate— is API-stable across it).What this buys
fetch-deltic.ts(TAG + two sha256s +assertPinConsistency) retires. The Deno leg's translator is@deltic/translator's packaged asset, loaded through the module graph — permission-free, soverify-deltic's runner invocation drops thegithub.com/objects/release-assetsnet grants and the--translatorplumbing (the flag survives as an optional dev override).just deltic-assetsbundlesbrowser-bundle-entry.ts(upstreamtools/release-bundle/entry.ts's exact surface) withdeno bundle --frozen --platform browser, and copies the packaged translator wasm out of the lock-pinned module cache. The worker run-message protocol ({bundleUrl, translatorUrl, suiteUrl, …}) is unchanged — downstream SUT-host consumers are unaffected.deno.json+ its lock (--frozen), withdeltic-pin-gateasserting one version across the import map, the lock's resolutions, and the tilde dep inside@deltic/translator(the successor toassertPinConsistency, wired as averify-delticprerequisite so CI runs it).minimumDependencyAgeexemptsjsr:@deltic/*per deltic's consumption README, so same-day prerelease bumps resolve; everything else keeps Deno's default 24-hour supply-chain gate.Discovered en route: Deno 2.9.5 stores remote modules as body + a
// denoCacheMetadata={…}trailer — copying a cached wasm asset wholesale yields a module that failsWebAssembly.compile. The extraction step truncates to the graph-reported size and asserts the wasm magic + trailer shape.Not changed: worker protocol, goldens (zero regenerated — every
verify-delticdiff empty across the bump), jco-era history, Rust suites.Gates (all green):
just all(build, test, test-wasm, lock-check, verify-embed/compose/deltic/pipeline/aggregate/viewer/imports/emit);deno check --frozenof runner + bundle entry;just deltic-pin-gate; leftover-reference grep clean.