Cloudflare deploy fails after adding a custom domain: generated comment is parsed as JSON
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
- Deploy an Astro app to your own Cloudflare account with
pnpm exec void deploy. - Attach a domain in that account with
pnpm exec void domain add example.com. - Commit the updated
void.lock.json. - Run
pnpm exec void deployagain, 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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de voidzero-dev/void
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
voidzero-dev/void#463 ·
Les mainteneurs répondent en général sous 1 jour
-
Deploy after a secret change fails for Workers over ~750 KB: source read-back capped at 1 MiBPeut-être pris @Brooooooklyn l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
voidzero-dev/void#459 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 1/5 1-3 heures Accessibilité débutants 78/100
voidzero-dev/void#428 ·
Les mainteneurs répondent en général sous 1 jour
-
Allow `npm create void` and `void init` to run without promptsPeut-être pris @ashunar0 l’a pris aujourd’hui. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 57/100
voidzero-dev/void#491 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 53/100
voidzero-dev/void#486 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de voidzero-dev/void
Issues similaires
-
area: aria/combobox gemini-triaged
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
angular/components#33973 ·
Les mainteneurs répondent en général sous 1 jour
-
bug priority: P2
Difficulté 1/5 1-3 heures Accessibilité débutants 84/100
Les mainteneurs répondent en général sous 1 jour
-
[bug] status, list and push crash with an uncaught NotInitializedError stack trace when teamai is not initializedPeut-être pris @jay23606 l’a pris aujourd’hui. Ouvertebug good first issue help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Tencent/teamai-cli#1227 ·
Les mainteneurs répondent en général sous 1 jour
-
[Tool]: YapOuverte
Difficulté 1/5 1-3 heures Accessibilité débutants 62/100
withkarann/aifoxx#417 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
sindresorhus/eslint-plugin-unicorn#3921 ·
Les mainteneurs répondent en général sous 1 jour