ivanseidel / ivanseidel/node-draftlog
Proposals for new version
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- JavaScript
- Estrellas
- 1.2k
- Forks
- 33
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
`DraftLog` works. The API is simple. I want to keep it that way, but it might be improved with a few ideas.
Please, contribute by giving your insights, ideas and so on.
### `[1]` Avoid overriding `console._stdout`
Can we find a way to NOT put something in the middle of the Stream? Is it possible to 'listen' to data on a Writable stream? If so, that's all we need (we don't ever modify contents anyway)
### `[2]` Should we 'hook' draft method into `console`?
Hooking into console is really cool, but... To specific.
What if the person doesn't uses `console` to do logging, but writing to `stdout` directly?
In that case, it would cause two problems:
1. Draft method would be available only through custom instantiated `Console`. That's a bad requirement to ask developers... (Console is cool, but not a requirement for logging stuff)
2. If any data get's logged directly into `stdout`, then it would not capture that data. `[1]` would fix that, if just in listening mode.
### `[3]` Ideas for a new (and simpler) API
```javascript
const DraftLog = require('draftlog')
console.draft = DraftLog(process.stdout[, process.stdin])
// Or save to a custom function maybe
const draft = DraftLog(process.stdout[, process.stdin])
// Would make things easier in case of disabling:
if (PRODUCTION)
const draft = DraftLog();
```
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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.
Línea de trabajo
El issue no nombra archivos ni tests; empieza revisando la API actual de DraftLog y cómo gestiona los streams de console y stdout. Compara las opciones propuestas para escuchar streams y para la API, y aclara después qué diseño debe implementarse. Se considera terminado cuando haya una propuesta acordada con un comportamiento definido para console, el logging directo a stdout y la desactivación.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- javascript, node.js
- Área
- cli
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 20/100