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

rc.23 template bug: api/plugin.dev.ts passes BETTER_AUTH_SECRET but template api/src/index.ts doesn't declare it — child typecheck fails after upgrade

Abierto Apto para principiantes
#628 1 comentario 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
77/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
typescript
Área
backend

Línea de trabajo

Lee .github/templates/api/src/index.ts y compara su esquema de secretos con api/src/index.ts y con BETTER_AUTH_SECRET, que pasa api/plugin.dev.ts. Añade la declaración que falta a la plantilla, siguiendo el esquema del framework descrito en el issue. Confirma que el scaffold hijo pasa la comprobación de tipos con la configuración del plugin gestionada por el framework.

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

Descripción

Summary

Upgrading a child app to platform 2.0.0-rc.23 (bos upgrade) reconciles the framework-owned api/plugin.dev.ts, which now passes BETTER_AUTH_SECRET into the api plugin's dev secrets:

secrets: {
  API_DATABASE_URL: process.env.API_DATABASE_URL || "pglite:.bos/api/:memory:",
  BETTER_AUTH_SECRET: devAuthSecret,
},

But the scaffold template the child's api plugin is built from (.github/templates/api/src/index.ts) only declares API_DATABASE_URL in its secrets schema. The child's satisfies PluginConfigInput<typeof Plugin> then fails:

plugin.dev.ts(30,7): error TS2353: Object literal may only specify known properties, and 'BETTER_AUTH_SECRET' does not exist in type '{ API_DATABASE_URL?: ... }'

The framework's own api plugin (api/src/index.ts at rc.23) declares the secret correctly:

BETTER_AUTH_SECRET: z.string().describe("Platform root secret — the secrets vault derives each runtime's KEK from it (HKDF, runtime-scoped salt)."),

So the template pair is internally inconsistent, and every child upgraded to rc.23 that keeps the scaffold's secrets schema fails CI typecheck until it hand-adds the secret.

Repro

  1. Child app on rc.22 with the scaffolded api/src/index.ts secrets schema (only API_DATABASE_URL plus child-specific secrets).
  2. bos upgrade → rc.23 reconciles api/plugin.dev.ts (now passes BETTER_AUTH_SECRET: devAuthSecret).
  3. pnpm run typecheck → TS2353 at plugin.dev.ts(30,7).

Seen in https://github.com/NEARBuilders/feedback.nearbuilders.org/actions/runs/40236580619

Suggested fix

Update .github/templates/api/src/index.ts to declare BETTER_AUTH_SECRET in the secrets schema, matching the framework's own api plugin (required z.string() with the KEK describe text), so the scaffold typechecks against the framework-owned plugin.dev.ts out of the box.

Alternatively, if children aren't meant to declare it, plugin.dev.ts shouldn't pass it — but given the real api plugin consumes it for the secrets vault, declaring it in the scaffold seems right.

Context

Lenguaje dominante
TypeScript
Estrellas
5
Forks
3
Merge medio
9 h 48 min
PR fusionados (30 d)
152

Preparar el entorno

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 NEARBuilders/everything-dev

Todos los issues de NEARBuilders/everything-dev

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.