Я действительно не нашел ответа и потратил много времени на поиски. Я пытаюсь автоматизировать тестирование по типам, включенным в мой npm модуль scramjet
. Я хотел бы проверить, действительно ли интерфейс, представленный в ./.d.ts/
и на который указывает package.json:typings
, действительно соответствует моему коду javascript.
При условии, что пакет. json:
{
"name": "scramjet"
"main": "lib/index.js"
"types": ".d.ts/index.d.ts"
}
И .d.ts / index.d.ts:
export {DataStream} from "./data-stream"; // there is a data-stream.d.ts
export {StringStream} from "./data-stream"; // there is a data-stream.d.ts
И в lib /index.js:
module.exports = {DataStream};
Как я могу проверить из командной строки, если файл js правильный? Я даже не могу сделать Visual Studio, чтобы выделить очевидные ошибки, такие как отсутствие экспорта и тому подобное ...
Я знаю, что могу написать отдельный файл с некоторой проверкой реализации и проверить этот синтаксис во время выполнения, но могу ли я в любом случае использовать eslint
или tslint
и сообщите этим инструментам, что интерфейс класса DataStream
js определен в .d.ts/data-stream.d.ts
с каким-либо @ jsdo c?
Я пробовал :
/**
* @implements {import('./.d.ts/int.d.ts').ISomeInterface}
*/
class Something extends SomethingElse {
// missing methods
}
Если VSCode может угадать интерфейс на основе реализации, возможно, это можно каким-то образом извлечь, и если так - возможно, "есть модуль для этой" проверки, который меня интересует?