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

`cf deploy` / `cf build` need a package.json in the Worker directory that declares `@cloudflare/vite-plugin`

Open
#60 1 comment 1 reaction 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
55/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
bun, typescript, vite

Research direction

Start by tracing implementation discovery used by cf build and cf deploy, especially the manifest check in the Worker's directory. Reproduce the Bun workspace case with the documented cf deploy --dry-run or cf build command, then verify that discovery reaches the workspace root or accepts an explicit root or manifest path. Done means both commands work without a Worker-local package.json.

Written by the indexing model from the issue text.

Description

Problem

In a Bun workspace, a Worker whose cloudflare.config.ts and vite.config.ts sit in a subdirectory with no package.json of its own cannot be built or deployed with a bare cf deploy / cf build. The Vite plugin is installed at the workspace root. cf looks for a manifest only in the Worker's own directory:

$ cd packages/api/src/register && cf deploy --dry-run --mode staging
…
The manifest checked was: …/packages/api/src/register/(package.json|pyproject.toml|Cargo.toml)

The workaround is vite build --mode <m> in that directory, then cf deploy --prebuilt --mode <m>, which works.

Expected

Implementation discovery resolves @cloudflare/vite-plugin the way Node resolution does, walking up to the workspace root, or accepts an explicit --root / manifest path.

Environment

[email protected], @cloudflare/[email protected], Bun workspaces, macOS.

Dominant language
TypeScript
Stars
853
Forks
42
Avg merge
16h 43m
Merged PRs (30d)
160

Getting set up

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 cloudflare/cf

All issues in cloudflare/cf

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.