Ho pubblicato originariamente " discourse2 " su npm un anno fa, ma recentemente gli ho dedicato molto più amore. È fondamentalmente un SDK TypeScript / JavaScript per l’API Discourse, generato dalla specifica OpenAPI di Discourse. Questo lo rende molto facile da usare:
L’utilizzo è simile a questo:
import Discourse from "discourse2";
const discourse = new Discourse("https://discourse.example.org/", {
"Api-Key": process.env.DISCOURSE_API_KEY,
"Api-Username": process.env.DISCOURSE_API_USERNAME,
});
const result = await discourse.listLatestTopics();
console.log(result);
L’ intera API Discourse (pubblicata nella specifica OpenAPI).
Sempre aggiornato: la specifica OpenAPI viene controllata quotidianamente per le modifiche e il pacchetto si ricostruirà e si pubblicherà automaticamente in caso di modifiche. Il recupero più recente viene mostrato come badge nella parte superiore del README:
Funziona sia in ambienti server che browser* (*utile per interrogare dati pubblici senza chiavi API e sull’origine pertinente, ad es. argomenti più recenti, ecc.)
Per favore, metti una stella su GitHub in modo che possa valutare l’interesse e decidere quanto tempo dedicare a questo. Feedback benvenuto. Ci sono alcune stranezze come menzionato nella sezione Note nel README.
Ciao a tutti, grazie per tutti i like e il supporto. Alcuni aggiornamenti:
Copertura dei test all’86%; per lo più E2E su un’istanza Discourse reale. Penso che praticamente tutto ciò che funziona con l’utente system, dovrò sperimentare con altri utenti per alcuni metodi.
Corretti un bel po’ di bug lungo il percorso, principalmente relativi alle richieste PUT e ai reindirizzamenti.
Pubblicato su JSR con un punteggio di qualità del 100%. Tutte le versioni sono ancora pubblicate congiuntamente anche su NPM.
TSDocs migliorati. Includere anche la description quando disponibile, e non solo il summary. Anche i documenti @module e gli @example.
Sviluppato in Deno v2 per un’esperienza di sviluppo rapida e conveniente. Ancora completamente testato in node ad ogni commit, ma, compatibile con runtime alternativi!
425 download settimanali su NPM (ma presumibilmente per lo più dovuti a bot e frequenza di rilascio ).
Per ora ho quasi finito. Voglio ancora dedicare un po’ più di lavoro alla sicurezza della validazione (e forse a un po’ di coercizione dei tipi), ma questo viene utilizzato su progetti reali con buoni risultati. Si prega di aprire eventuali issue per bug o richieste di funzionalità, e buon discoursing!