Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto Apto para principiantes
#484 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
node.js, typescript
Área
devops

Línea de trabajo

Lee packages/void/src/cli/cf-build-output.ts y el helper existente readGeneratedWranglerConfigFile en generated-wrangler-config.ts. Comprueba las tres lecturas de configuración mencionadas en el issue y luego reproduce el problema con un comentario en void.lock.json que contenga la instantánea de tráfico publicada. Se habrá terminado cuando la preparación del despliegue acepte el comentario JSONC y conserve el dominio personalizado; el issue describe una solución local, pero no un despliegue subido.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
TypeScript
Estrellas
402
Forks
32
Merge medio
12 h 1 min
PR fusionados (30 d)
80

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de voidzero-dev/void

Todos los issues de voidzero-dev/void

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.