TypeScript DDD base modules