Skip to content

test(e2e): cover Deno module generation - #28

Draft
TomChv wants to merge 1 commit into
feat/module-gen-cutoverfrom
feat/packager-staleness-check
Draft

test(e2e): cover Deno module generation#28
TomChv wants to merge 1 commit into
feat/module-gen-cutoverfrom
feat/packager-staleness-check

Conversation

@TomChv

@TomChv TomChv commented Aug 11, 2026

Copy link
Copy Markdown
Member

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


Stack created with GitHub Stacks CLIGive Feedback 💬

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
TomChv force-pushed the feat/packager-staleness-check branch from 0397083 to 816f3cd Compare August 12, 2026 13:57
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