Как проектировать публичный TypeScript API библиотеки?
Коротко
API должен быть стабильным, выводимым, расширяемым и не раскрывать внутренние типы.
API должен быть стабильным, выводимым, расширяемым и не раскрывать внутренние типы.
Сильный ответ должен раскрыть: backwards compatibility; inference; exported contracts; migration impact.
Важно не допустить типичные ошибки: экспортировать внутренности; ломать inference; делать breaking changes без версии.
Что хочет услышать интервьюер
backwards compatibility
inference
exported contracts
migration impact
Пример: TypeScript example
export interface ClientOptions { baseUrl: string; timeoutMs?: number }
Типичные ошибки
экспортировать внутренности
ломать inference
делать breaking changes без версии


