1년 전에 npm에 "discourse2"를 처음 공개했지만, 최근에는 이 프로젝트에 많은 공을 들였습니다. 기본적으로 Discourse의 OpenAPI 스펙에서 생성된 Discourse API용 TypeScript / JavaScript SDK입니다. 덕분에 작업이 매우 쉬워졌습니다:
사용법은 다음과 같습니다:
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);
CodeSandbox 라이브 데모도 있습니다.
주요 기능:
- 전체 Discourse API (OpenAPI 스펙에 공개된 것).
- 항상 최신 상태 유지: OpenAPI 스펙의 변경 사항은 매일 확인되며, 변경 사항이 감지되면 패키지가 자동으로 다시 빌드되고 게시됩니다. 최근 업데이트 날짜는 README 상단의 배지로 표시됩니다:
- 서버 및 브라우저* 환경 모두에서 작동합니다 (*API 키 없이 공개 데이터를 조회할 때 또는 관련 오리진에서, 예를 들어 최신 토픽 등을 사용할 때 유용합니다)
GitHub에서 별표를 눌러주셔서 관심도를 파악하고 이 프로젝트에 더 많은 시간을 할애할지 결정할 수 있도록 해주세요. 피드백도 환영합니다. README의 Notes 섹션에 언급된 몇 가지 특이한 점은 있습니다.

