Costruire fantastiche CLI con JavaScript e Oclif

Blog

Originariamente pubblicato da Federico Kauffman a streaver.com



Definiamo prima una CLI

Una rapida ricerca su Google produce, ovviamente, a Articolo di Wikipedia con la definizione CLI:

Un'interfaccia della riga di comando o un interprete del linguaggio di comando (CLI), noto anche come interfaccia utente della riga di comando, interfaccia utente della console e interfaccia utente dei caratteri (CUI), è un mezzo per interagire con un programma per computer in cui l'utente (o client) emette comandi al programma sotto forma di righe di testo successive (righe di comando). Un programma che gestisce l'interfaccia è chiamato interprete del linguaggio di comando o shell (informatica).

Quindi, in poche parole, una CLI è un programma in grado di comprendere le richieste fatte da un utente sotto forma di testo e quindi agire ed eseguire codice in risposta a ciò.



trasformando 1k in 10k

Questo tipo di programmi è molto utile per molti casi d'uso diversi, da semplici CLI come |_+_| Strumento Bash che mostra il mese corrente, a quelli estremamente complessi come |_+_| per la gestione dei cluster Kubernetes.

Anche se non usi direttamente le CLI ogni giorno (il che è molto improbabile), probabilmente ne sei indirettamente influenzato, ad esempio |_+_| è una CLI, |_+_| il compilatore GNU, |_+_| una CLI per impalcature per la generazione di app React e molte altre.



Come creare i tuoi CLI?

Come molte cose nel mondo della tecnologia, la risposta è: 'dipende'. Ci sono molti modi per costruirli e tutti probabilmente sono validi in contesti diversi. In questo caso, esplorerò come crearne uno con JavaScript e Oclif: un framework CLI aperto Node.JS (di Heroku) , che include una CLI per la creazione di CLI 🤔.

PERICOLO

D'ora in poi presumo che tu sia a tuo agio con JavaScript e l'ecosistema NPM in generale, se non lo sei, probabilmente avrai un'idea generale, ma ti consiglio di leggere qualcosa a riguardo prima di iniziare.

Iniziare con Oclif

Secondo me, costruire qualcosa di solito è un ottimo modo per imparare, quindi in questo caso ho fatto un po' di brainstorming con @flarraa e ha deciso di costruire una CLI 'Copa Libertadores' ( vedi Wikipedia ).

L'idea è quella di fornire una serie di comandi in grado di recuperare e visualizzare informazioni sulle partite già giocate e su quelle imminenti per il campionato 'Copa Libertadores'.

Scaviamo!

La Oclif CLI, ha due modi possibili per generare progetti CLI, uno è |_+_| e il secondo è |_+_|, in questo caso, genereremo una CLI multi-comando.

Vorremmo che il nostro comando assomigli a |_+_|, |_+_|, |_+_| e questo è coerente con la generazione di CLI multi-comando di Oclif.

Inizializzazione del progetto

Innanzitutto, inizializziamo il progetto facendo:

cal

Questo porrà alcune domande e successivamente installerà tutto il necessario per iniziare a programmare!

kubectl

git _)
/ A /
| ~ |
'. .' _
´ gcc

? npm nome del pacchetto libertadores-cli
? comando bin nome la CLI esporterà libertadores
? descrizione Una semplice CLI per ottenere informazioni sulla Copa Libertadores direttamente nel tuo terminale
? autore Federico Kauffman
? versione 0.0.0.0
? licenza MIT
? Chi è il proprietario GitHub del repository ( https://github.com/OWNER/repo ) streaver
? Qual è il nome GitHub del repository ( https://github.com/owner/REPO ) liberatori-cli
? Seleziona un filato per il gestore della confezione
? Dattiloscritto No
? Usa eslint (linter per JavaScript) Sì
? Usa moka (quadro di test) Sì
? Aggiungi la configurazione del servizio CI circleci (servizio di integrazione/consegna continua)

tutorial sul layout angolare flessibile

Ho selezionato alcune impostazioni predefinite che mi piacciono e ora hai un mucchio di file e cartelle che saranno la nostra struttura principale per il progetto. Quindi entra nella directory con |_+_|.

Spiegherò brevemente cosa Oclif ha generato per noi:

create-react-app

Guardando l'albero dei file puoi vedere il |_+_| directory che contiene i binari per eseguire il comando su ciascuna piattaforma (Unix/Windows).

Vedi il |_+_| cartella con un |_+_| file che esporta semplicemente un pacchetto Oclif interno che caricherà i comandi disponibili, e quei comandi sono definiti nei file posti nella cartella |_+_| cartella. Per impostazione predefinita, Oclif genera un |_+_| comando, eseguiamolo e vediamo cosa abbiamo:

npx oclif single mynewcli

Se esegui |_+_| sottocomando si ottiene:

npx oclif multi mynewcli

Ultimo ma non meno importante, hai il |_+_| cartella dove collocherai tutti i tuoi test, infatti, Oclif ha già creato alcuni test, e possiamo eseguirli con |_+_| oppure |_+_|.

Creazione del primo comando

Innanzitutto, possiamo eliminare |_+_| comando poiché non lo useremo, elimina semplicemente il |_+_| e |_+_|.

Ora possiamo usare il comando del generatore Oclif CLI, creiamo il |_+_| comando con:

libertadores games:all

Questo creerà tutti i file necessari per il comando (inclusi i test) e aggiornerà anche il |_+_| file automaticamente per includere il nuovo comando.

Stiamo per ottenere i dettagli per la Copa Libertadores da http://www.conmebol.com/es/copa-libertadores-2019/fixture , e useremo burattinaio per entrare nel sito e ottenere i dati.

libertadores games:past

}
}

Ora possiamo eseguire |_+_| e otterremo i risultati proprio lì sul terminale:


Come avrai notato, ho anche aggiunto una funzione di caricamento per dare all'utente un feedback visivo. Per aggiungerlo, devi semplicemente installare il pacchetto |_+_| e quindi avvolgere le parti lente del codice in alcune chiamate di avvio/arresto:

elettroneum come acquistare

Installalo in questo modo:

libertadores games:upcoming

Aggiungi lo spinner con qualcosa come:

_-----_ ╭──────────────────────────╮ | | │ Time to build a │ |--(o)--| │ multi-command CLI with │

Ora, a questo punto abbiamo la CLI, possiamo scrivere dei test per essa! Oclif viene fornito con alcune simpatiche impostazioni predefinite per testare questo tipo di CLI. In questo caso particolare, vuoi solo verificare che l'output sul terminale sia quello che ti aspetti. Fortunatamente, questo è esattamente ciò che fa il test generato automaticamente per il comando, devi solo adattare quel codice!

Lascerò questo compito a te (il lettore, proprio come i libri di matematica) ... oppure puoi controllarli nel repository ufficiale per la Copa Libertadores CLI.

Installa la CLI, rimani aggiornato e non perderti più i giochi ❤️⚽️!

-----------------------------------

Grazie per aver letto :heart: Se ti è piaciuto questo post, condividilo con tutti i tuoi amici di programmazione! Seguimi su Facebook | Twitter

guarda leverage stagione 1 episodio 1 online gratis

Per saperne di più

☞ Parlare con Python da JavaScript (e tornare di nuovo!)

? I 12 migliori trucchi Javascript per principianti

Programmazione funzionale in JavaScript

? JavaScript per l'apprendimento automatico con TensorFlow.js

☞ Impara JavaScript - Corso JavaScript per principianti

? Il corso JavaScript completo 2019: costruisci progetti reali!

? Diventa uno sviluppatore JavaScript - Impara (React, Node, Angular)

? JavaScript: capire le parti strane

? Vue JS 2 - La guida completa (incl. Vue Router e Vuex)

? Il tutorial completo su JavaScript ed ES6 - (inclusi ES7 e React)

? JavaScript - Guida passo passo per principianti

? Bootcamp per sviluppatori web

? Stack MERN dalla parte anteriore a quella posteriore: Full Stack React, Redux e Node.js


micro bitcoin in bitcoin

#javascript

www.streaver.com

Costruire fantastiche CLI con JavaScript e Oclif

Originariamente pubblicato da Federico Kauffman a streaver.com