jsr: publish @polymorph/iroh — the endpoint packaged under deltic - #81
Merged
Conversation
The deltic harness becomes the @polymorph/iroh package: exports ".
" (src/mod.ts) carries newEndpointInstance/bindEndpoint/loadArtifacts,
the sockets browser-profile provider, and the endpoint types. The
sibling host modules arrive from JSR by caret constraint
(@polymorph/{webcrypto,websocket,webrtc-datachannels}@^0.1.0) instead
of .deps paths, and @deltic/* constraints widen to ^0.1.0 — published
dependency constraints are ranges so a consumer's resolver dedupes the
family onto one @deltic/runtime module instance (module identity for
instanceof ComponentException).
The packaged endpoint component: build-components embeds the wasm32-
wasip2 release build as src/endpoint_component.ts (gitignored,
generated; base64 in the module graph — package integrity, no read
permission, no unstable raw-import flag), reached through
loadArtifacts()'s string-literal dynamic import so it evaluates only
when the packaged default is used. Explicit componentBytes overrides
it; the exam always passes this tree's fresh build (src/repo.ts, the
publish-excluded repo machinery: target/ paths, the local relay,
EXAM_GUEST_LOGS forwarding — the published module reads no ambient
configuration and references no repo paths).
The exam-deltic pin gate compares RESOLVED @deltic versions across the
two deno.locks (host-deltic's manifest carries ranges, so specifier
strings no longer pin identity); the resolved-graph identity gate is
unchanged. LICENSE: Apache-2.0, the family's license. jsr-publish.yml
builds the endpoint against the .deps pins and publishes via GitHub
Actions OIDC.
Gates: exam-deltic 7/7 with the siblings resolved from JSR at 0.1.0;
deno publish --dry-run clean (mod/harness/sockets/types + the 2.6 MiB
asset module); deno task check green.
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.
Publishes @polymorph/iroh: the iroh endpoint component + the deltic harness, consumable out of the box (
newEndpointInstance()→bindEndpoint()), completing the family's JSR set (webcrypto, websocket, webrtc-datachannels are live at 0.1.0).@polymorph/*@^0.1.0) instead of.depspaths;@deltic/*constraints widen to^0.1.0. Published constraints are ranges so one@deltic/runtimeinstance serves the whole graph — module identity (instanceof ComponentException) now rests on range-intersection, gated by the reworked lock-based pin check + the unchanged resolved-graph identity gate.build-componentsembeds the wasm32-wasip2 release build as a generated, gitignored base64 module in the graph (package integrity, no read permission, no unstable raw-import flag), lazily loaded;componentBytesoverrides. The exam keeps running this tree's fresh build via the publish-excludedsrc/repo.ts(repo paths, local relay, env-knob forwarding — the published module reads no ambient configuration).jsr-publishworkflow builds against the.depspins and publishes via OIDC.Gates:
exam-deltic7/7 with the siblings resolved from JSR at 0.1.0;deno publish --dry-runclean (2.6 MiB asset + 4 modules);deno task checkgreen.After merge: dispatch
jsr-publishto put @polymorph/iroh 0.1.0 live.