Designing a plugin architecture for third-party database providers in a TypeScript application Cevheri Cevheri ...