Почему в репозитории DefinitherTyped файлы определений типов некоторых библиотек имеют экспорт, а другие - нет? Например, файл определения типа для Facebook SDK не экспортирует, но файл определения типа для Amazon Alexa SDK имеет экспорт.
Я спрашиваю, потому что Facebook SDK - первая библиотека, с которой мне не хватало экспорта. Я обнаружил это, когда попытался import {AuthResponse} from 'facebook-js-sdk'
, и компилятор пожаловался, что .../node_modules/@types/facebook-js-sdk/index.d.ts' is not a module.
Есть ли какое-то преимущество в исключении экспорта из определений типов, что требует импорта всего SDK (например, import 'facebook-js-sdk'
) вместо возможности импортировать только несколько типов? Или @types/facebook-js-sdk
просто не написан с использованием последних передовых практик TypeScript?
Кроме того, имеет ли стиль определений типов «импортировать все» без экспорта какие-либо недостатки или проблемы, на которые мне следует обратить внимание в моем импортирующем коде?
Наконец, предположим, что кто-то принял PR на добавление экспорта в типизацию Facebook SDK. Будет ли это критическим изменением для существующих клиентов с таким определением типа? (Если это так, это объясняет, почему это не было исправлено!)