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

Ability to "fail to start"

Abierto
#36 0 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
node.js
Área
backend

Línea de trabajo

Empieza leyendo el punto de entrada Node.startProgram y compáralo con la API de inicio de Browser, ya que el issue sugiere que ambos necesitan un comportamiento similar. Determina cómo gestiona actualmente init el resultado de una tarea y define qué debería significar una ruta de fallo explícita; el trabajo estará terminado cuando las aplicaciones puedan fallar durante la inicialización sin almacenar un Maybe en el modelo.

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

Descripción

breaking enhancement

Currently if your application model depends on the result of a task that can fail, you need to keep a Maybe on the model, because you have to call Node.startProgram with an instance of your model no matter what. If there was a way to explicitly not start the program, you could avoid the Maybe and fail directly in init. For example:


getSecureContext : Task Never (Maybe Crypto.SecureContext)
getSecureContext =
    -- Turn fail-able task into one that always resolves. 
    ...

init env =
    Init.await getSecureContext <| \maybeSecureContext ->
        when maybeSecureContext is
            Nothing ->
                Node.failToStart "Failed to get secure context."
            Just secureContext ->
                Node.startProgram
                    { model =
                        { secureContext = secureContext -- don't need a Maybe
                        ...

Probably will want something similar for Browser.

Lenguaje dominante
JavaScript
Estrellas
13
Forks
6
Merge medio
4 d 10 h
PR fusionados (30 d)
4

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 gren-lang/node

Todos los issues de gren-lang/node

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.