Discourse2 su npm: una wrapper TypeScript per l'API di Discourse

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:

discourse completion

discourse getTopic type

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

C’è anche una demo live su CodeSandbox.

Caratteristiche:

  • 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: Discourse API update date
  • 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.

10 Mi Piace

Adoro il progetto, grazie mille :heart:

1 Mi Piace

Ciao a tutti, grazie per tutti i like e il supporto. Alcuni aggiornamenti:

:white_check_mark: 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.

:white_check_mark: Corretti un bel po’ di bug lungo il percorso, principalmente relativi alle richieste PUT e ai reindirizzamenti.

:white_check_mark: Pubblicato su JSR con un punteggio di qualità del 100%. Tutte le versioni sono ancora pubblicate congiuntamente anche su NPM.

:white_check_mark: TSDocs migliorati. Includere anche la description quando disponibile, e non solo il summary. Anche i documenti @module e gli @example.

:white_check_mark: 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!

:white_check_mark: 425 download settimanali su NPM (ma presumibilmente per lo più dovuti a bot e frequenza di rilascio :sweat_smile:).

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! :tada:

3 Mi Piace