ivanseidel / ivanseidel/node-draftlog

Proposals for new version

Ouverte
#1 1 commentaire 6 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
JavaScript
Étoiles
1.2k
Forks
33
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

`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();
```

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

L’issue ne nomme aucun fichier ni test ; commencez par examiner l’API actuelle de DraftLog et sa gestion des streams console et stdout. Comparez les options proposées pour l’écoute des streams et pour l’API, puis clarifiez quelle conception doit être implémentée. La tâche est terminée lorsqu’une proposition approuvée définit le comportement de console, de la journalisation directe vers stdout et de la désactivation.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript, node.js
Domaine
cli
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
20/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.