Я использую TypeScript для проверки типов (без отправки) проекта JavaScript.В проекте JavaScript я использую JSDoc для облегчения работы TypeScript, но я также использую сторонние пакеты, которые предоставляют свои собственные типы (не @types
), и TypeScript не видит эти пакеты, потому что они упоминаются только с использованиемпростой тег script
на странице.
Я не хочу писать наборы для того, что библиотеки вносят в window
вручную, поскольку пакеты уже имеют свои собственные наборы, TypeScript просто не делаетувидеть их, и мне интересно, есть ли способ сделать так, чтобы он знал о них.
Я не могу использовать import
или /// <reference
, потому что исходные файлы - это файлы JavaScript, а не файлы TypeScript, и я должен придерживатьсяс тем, что позволяет JavaScript.
Я не могу использовать @types
, потому что наборы приходят из пакетов напрямую, а не @types
.Я мог бы npm install
пакеты, но TypeScript не может знать, что проект ссылается на них (без импорта и т. Д.), Поэтому я предполагаю, что должен быть параметр компилятора, сообщающий об этом.
Я пробовал npm install
использование пакетов NPM с зависимостями, которые TypeScript получает во время выполнения, используя script
и настройку typeRoots
:
"compilerOptions": {
"typeRoots": [
"node_modules/package"
]
}
Но это не имело никакого эффекта.
У меня также естьпопытался настроить "typeAcquisition" для выполнения моих ставок следующим образом:
{
"typeAcquisition": {
"enable": true,
"include": [
"package"
]
}
}
Это тоже не сработало, что понятно, потому что я думаю, что это просто позволяет автоматически получать @types
, когда в моем случаенаборы являются частью реального пакета, как я уже говорил ранее.
Как я могу заставить TypeScript знать мой проект JavaScript, он проверяет ссылки на пакеты так, как он не может видеть из источника, чтобы он загружал их наборы иглобальные объекты, предоставленные пакетами, становятся распознанными и проверенными типами?