Skip to content

fix(create-void): require lowercase project names - #513

Merged
cpojer merged 2 commits into
mainfrom
fix/create-void-lowercase-project-name
Oct 21, 2026
Merged

cpojer merged 2 commits into
mainfrom
fix/create-void-lowercase-project-name

Conversation

@camc314

@camc314 camc314 commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

create-void MyApp and the interactive project-name prompt currently accept uppercase names, allowing projects to reach deployment before encountering an invalid slug error.

Validate both inputs with a shared validator and report Project name must be lowercase before creating files or installing dependencies. Preserve the prompt default and blank-name validation. Add regression coverage for uppercase/mixed-case names and valid lowercase inputs, and document the requirement in the scaffolder README.

Validation: direct Node assertions against the production validator and argument parser passed, including existing option-forwarding behavior. Vite+ regression tests, affected-test selection, typechecking, and the full suite could not run: vp is unavailable and the environment's shell network proxy is unreachable, preventing dependency installation.

Copilot AI balanced review requested due to automatic review settings October 20, 2026 19:54

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing. Review the Copilot code review billing settings.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-20T19:55:44.989866Z 5962676 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@cloudflare-workers-and-pages

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview URL: https://fix-create-void-lowercase-project-name-void-cloud.voidzero-docs.workers.dev (commit 5962676)

This URL reflects your latest Preview deployment

Preview Deployments by commit

Status Deployment URL Commit Updated (UTC) See this deployment's details
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://f1c38e50-void-cloud.voidzero-docs.workers.dev 5962676 2026-10-20T19:54:57.036Z Visit the dashboard ↗

Signed-off-by: Christoph Nakazawa <christoph.pojer@gmail.com>

@cpojer cpojer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@cpojer
cpojer merged commit 0ab90c7 into main Oct 21, 2026
17 checks passed
@cpojer
cpojer deleted the fix/create-void-lowercase-project-name branch October 21, 2026 00:02
cpojer added a commit that referenced this pull request Oct 22, 2026
The lowercase check added in #513 still accepts names such as `my_app`,
`my.app`, `my app`, paths, and names longer than a workers.dev DNS
label. The scaffolder writes the supplied name directly into
package.json, so these inputs should receive actionable validation
before files are created or dependencies installed.

Extend the validator already shared by the interactive prompt and
positional CLI argument to require lowercase ASCII letters, digits, and
dashes, with an alphanumeric first/last character and a maximum of 63
characters. Preserve lowercase diagnostics and the interactive default.
Add regression coverage for invalid characters, paths, Unicode/control
characters, dash boundaries, single-character names, and the
63/64-character boundary; document the accepted project-name format.

Cloudflare references:
- [Worker name
configuration](https://developers.cloudflare.com/workers/wrangler/configuration/#inheritable-keys):
alphanumeric characters and dashes; underscores are explicitly
disallowed.
- [workers.dev
limitations](https://developers.cloudflare.com/workers/configuration/routing/workers-dev/#limitations):
at most 63 characters, with no leading/trailing dash. Workers without
workers.dev can have names up to 255 characters; the scaffolder
intentionally uses the workers.dev-compatible limit. Cloudflare itself
permits uppercase; this change preserves Void's existing lowercase
policy.

This narrows scaffold inputs: paths (including `.`) and scoped names are
rejected because the input is also used as the package name. Existing
project deployment naming and the separately validated Void platform
slug remain unchanged.

Validation: five dependency-free Node test groups against the production
validator/parser passed, covering valid/invalid input tables,
boundaries, defaults, and existing argument forwarding. The repository
Vite+ tests, affected-test checks, typecheck, and full suite could not
run because `vp` is unavailable and the shell proxy is unreachable,
preventing dependency installation.

---------

Signed-off-by: Christoph Nakazawa <christoph.pojer@gmail.com>
Co-authored-by: Christoph Nakazawa <christoph.pojer@gmail.com>
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.

3 participants