cursor-sdk auth.md: non-null assertion described as a runtime missing-variable check
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 1/5
- Tiempo estimado
- Menos de una hora
- Aptitud para principiantes
- 92/100
- Tipo de issue
- Documentación
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- documentation
Línea de trabajo
Abre cursor-sdk/skills/cursor-sdk/references/auth.md en la línea referenciada y revisa el párrafo que describe apiKey: process.env.CURSOR_API_KEY!. Compáralo con la comprobación explícita de una clave ausente que se muestra unas líneas más abajo. Actualiza la explicación para que distinga correctamente entre la aserción en tiempo de compilación de TypeScript y la validación en tiempo de ejecución, y verifica después que la documentación ya no afirme que ! comprueba la variable de entorno.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Observed at commit 2eb7ed4613cfc8f098dfe464a23680ea44d84c5e: cursor-sdk/skills/cursor-sdk/references/auth.md line 45.
The text reads:
The non-null assertion (
!) is a readable way to say "fail loudly if the env var is missing" — otherwise the SDK will throw an auth error later and the stack trace won't point at the env var.
for the example apiKey: process.env.CURSOR_API_KEY!.
Problem
In TypeScript the postfix ! is a compile-time-only assertion; it is erased in emitted JavaScript and performs no runtime check. If CURSOR_API_KEY is unset, undefined is passed through and the failure appears later in the SDK, exactly the outcome the sentence says ! avoids.
Suggested fix
Reword to say that ! only silences the type error and does no check, and lead with the explicit check that is already shown a few lines below:
const apiKey = process.env.CURSOR_API_KEY;
if (!apiKey) {
console.error("Missing CURSOR_API_KEY. ...");
process.exit(1);
}
- Lenguaje dominante
- TypeScript
- Estrellas
- 8.8k
- Forks
- 819
- Merge medio
- 14 h 37 min
- PR fusionados (30 d)
- 66
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
- 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 cursor/plugins
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 Medio día Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
Los mantenedores suelen responder en 1 día
Todos los issues de cursor/plugins
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Doist/todoist-cli#576 ·
Los mantenedores suelen responder en 1 día
-
🐛 Bug supabase/cli
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
CopilotKit/aimock#491 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
agilepathway/label-checker#710 · 2 comentarios ·
Los mantenedores suelen responder en 1 día