test(e2e): cover Deno module generation - #28
Draft
TomChv wants to merge 1 commit into
Draft
Conversation
Deno was wired but never exercised: it is the one branch in generation that depends on the runtime, since Deno resolves imports through deno.json rather than node_modules plus tsconfig paths. Generating a Deno module as if it were a Node one would produce a tree that looks complete but leaves the runtime unable to resolve @dagger.io/dagger at all. The check asserts both directions — the deno.json entries are written and the user's own are preserved, and no package.json or tsconfig.json is produced. Confirmed beyond the assertions by generating the fixture and calling it: `dagger call hello` returns through the engine's Deno runtime. No separate staleness check: the engine already surfaces each @generate function as a check that fails when it would produce changes, which is exactly that, with a better message. Verified by tampering with the committed bindings and watching packager:library-bindings fail. Recorded in the design instead. Signed-off-by: Tom Chauveau <tom@dagger.io>
TomChv
force-pushed
the
feat/packager-staleness-check
branch
from
August 12, 2026 13:57
0397083 to
816f3cd
Compare
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.
Deno was wired but never exercised: it is the one branch in generation that
depends on the runtime, since Deno resolves imports through deno.json rather
than node_modules plus tsconfig paths. Generating a Deno module as if it were a
Node one would produce a tree that looks complete but leaves the runtime unable
to resolve @dagger.io/dagger at all.
The check asserts both directions — the deno.json entries are written and the
user's own are preserved, and no package.json or tsconfig.json is produced.
Confirmed beyond the assertions by generating the fixture and calling it:
dagger call helloreturns through the engine's Deno runtime.No separate staleness check: the engine already surfaces each @generate
function as a check that fails when it would produce changes, which is exactly
that, with a better message. Verified by tampering with the committed bindings
and watching packager:library-bindings fail. Recorded in the design instead.
Signed-off-by: Tom Chauveau tom@dagger.io
Stack created with GitHub Stacks CLI • Give Feedback 💬