Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

prepareDeployArtifact omits worker.vars that the CLI managed deploy includes

Open Beginner friendly
#529 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
typescript
Domain
devtools

Research direction

Find prepareDeployArtifact() and compare its assembleVoidManifest(...) call with the calls in deploy-managed-full.ts and deploy-managed-framework.ts; the issue names these entry points but not their file paths. Start by tracing how worker.vars reaches the manifest in those CLI paths. Done when the programmatic artifact includes the configured vars, matching the CLI managed deploy.

Written by the indexing model from the issue text.

Description

Version: 1.1.12

void/deploy's prepareDeployArtifact() builds the manifest with assembleVoidManifest(...) but never passes vars. The CLI managed deploy paths do pass them (deploy-managed-full.ts and deploy-managed-framework.ts: vars: voidConfig.worker?.vars).

As a result, an artifact prepared through the programmatic API has no manifest.vars, even when:

  • void.config.ts sets worker: { vars: { ... } }, and
  • the build output (dist/ssr/wrangler.json) contains those vars.

The platform emits plain-text bindings only from manifest.vars, so these vars never reach the deployed Worker on that path.

Repro

  1. Create a project whose void.config.ts has worker: { vars: { FOO: "bar" } }.
  2. Run vp build. dist/ssr/wrangler.json now has vars.FOO.
  3. Call prepareDeployArtifact(root). The result has artifact.manifest.vars === undefined.

Expected: prepareDeployArtifact produces the same vars as the CLI managed deploy.

We work around it by copying wrangler.json vars into the manifest.

A related note that may belong in the docs: keys declared in env.ts are refused as worker.vars ("Server env keys cannot be Worker plaintext vars"). Plain config therefore has to live only in worker.vars.

Dominant language
TypeScript
Stars
402
Forks
32
Avg merge
10h 51m
Merged PRs (30d)
100

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from voidzero-dev/void

All issues in voidzero-dev/void

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.