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
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
- Child app on rc.22 with the scaffolded
api/src/index.tssecrets schema (onlyAPI_DATABASE_URLplus child-specific secrets). bos upgrade→ rc.23 reconcilesapi/plugin.dev.ts(now passesBETTER_AUTH_SECRET: devAuthSecret).pnpm run typecheck→ TS2353 atplugin.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
- Framework version:
2.0.0-rc.23 - Child workaround applied in https://github.com/NEARBuilders/feedback.nearbuilders.org (add the secret to the child's secrets schema +
bos.app.tsapi.secrets)
- Lenguaje dominante
- TypeScript
- Estrellas
- 5
- Forks
- 3
- Merge medio
- 9 h 48 min
- PR fusionados (30 d)
- 152
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de NEARBuilders/everything-dev
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
NEARBuilders/everything-dev#400 ·
Los mantenedores suelen responder en 1 día
-
Onboarding at events: translate /onboard, use "community" wording, and handle failed invite lookupsAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
NEARBuilders/everything-dev#653 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
NEARBuilders/everything-dev#652 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
NEARBuilders/everything-dev#651 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
NEARBuilders/everything-dev#650 ·
Los mantenedores suelen responder en 1 día
Todos los issues de NEARBuilders/everything-dev
Issues similares
-
Parallel reticle_verify opens per-flow leases without the source lease's ignoreHTTPSErrorsPosiblemente ocupada @as992949791 la tomó hoy. Abiertogood first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
reticlehq/reticle#2033 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
area:quality p3-medium ready-for-agent type:docs
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
fderuiter/deruiter.dev#3589 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
manfredsteyer/angular-oauth2-oidc#1514 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
marmelab/react-admin#11431 ·
Los mantenedores suelen responder en 1 día