Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Cloudflare deploy fails after adding a custom domain: generated comment is parsed as JSON

Ouverte Adaptée aux débutants
#484 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
78/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
node.js, typescript
Domaine
devops

Piste de recherche

Lisez packages/void/src/cli/cf-build-output.ts et le helper existant readGeneratedWranglerConfigFile dans generated-wrangler-config.ts. Vérifiez les trois lectures de configuration mentionnées dans l’issue, puis reproduisez le problème avec un commentaire dans void.lock.json contenant l’instantané de trafic publié. Le travail est terminé lorsque la préparation du déploiement accepte le commentaire JSONC et conserve le domaine personnalisé ; l’issue signale une solution de contournement locale, mais aucun déploiement téléversé.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

void deploy fails after adding a Cloudflare custom domain. Void saves a comment in the generated configuration, then tries to read that file with JSON.parse.

Steps to reproduce

  1. Deploy an Astro app to your own Cloudflare account with pnpm exec void deploy.
  2. Attach a domain in that account with pnpm exec void domain add example.com.
  3. Commit the updated void.lock.json.
  4. Run pnpm exec void deploy again, including from a fresh CI checkout.

The build completes, but deployment stops at:

◇ Preparing deployment...
■ Unexpected token '/', "// void:pu"... is not valid JSON

The expected result is a successful deployment with the custom domain preserved.

Cause

The domain command saves a published-traffic snapshot as a comment:

// void:published-traffic:v1:...

That comment is saved in void.lock.json's text field and restored into .void-wrangler.jsonc. The file is valid JSONC, which allows comments, but not strict JSON.

prepareCfFrameworkBuildOutput reads the file with JSON.parse. The same file also uses JSON.parse in prepareCfStaticBuildOutput and the legacy path of prepareCfBuildOutput.

Local workaround

I patched those three reads to use the existing readGeneratedWranglerConfigFile helper from generated-wrangler-config.ts. That helper already handles comments and rejects invalid input.

I reproduced the original parsing error locally. With the patch, the same Worker preparation step accepts the comment and produces deployment output. This check did not upload the Worker. A frozen-lockfile install also succeeds with the pnpm patch.

Versions

  • Void: 1.1.11
  • Astro: 7.4.0
  • @astrojs/cloudflare: 14.4.0
  • Failing CI environment: GitHub Actions, Linux, Node.js 24.21.0

The JSON.parse calls are also present on main at 43c7fe17e402d4509516796eec3e7c832a2b0630.

Langage dominant
TypeScript
Étoiles
402
Forks
32
Merge moyen
12 h 1 min
PR mergées (30 j)
80

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de voidzero-dev/void

Toutes les issues de voidzero-dev/void

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.