У меня проблемы с тестами Cypress для моего (Typescript) приложения, распознающего типы для установленного мной пакета. Вот моя структура каталогов верхнего уровня:
cypress
node_modules
src
Мой cypress/tsconfig.json
файл выглядит так:
{
"compilerOptions": {
"strict": true,
"baseUrl": "../node_modules",
"paths": {
"~/*": ["../src/*"]
},
"jsx": "react",
"target": "es6",
"lib": ["es6", "dom", "es2017.string"],
"types": ["cypress"]
},
"include": ["**/*.ts"]
}
В одном из моих файлов спецификаций у меня есть следующий импорт:
import * as faker from 'faker';
import { DeepPartial } from 'utility-types';
Типы для faker
определены в DefinentyTypes (@types/faker
), тогда как типы для utility-types
включены в этот пакет как *.d.ts
файлы. При импорте faker
проблем нет, но при импорте utility-types
возникает ошибка Не удается найти модуль 'служебные-типы' или соответствующие объявления типа..
Я пробовал явно включить файлы *.d.ts
из каталога node_modules в файл tsconfig.json
в свойствах compilerOptions.types
, compilerOptions.typeRoots
и include
, но безрезультатно.
Я также создал фальшивые (?) Типы вроде следующего, чтобы он компилировался:
declare module 'utility-types' {
export type DeepPartial<T> = {};
}
Это позволяет приложению компилировать И во время выполнения пакеты разрешаются, поэтому, похоже, проблема заключается в поиске типов, а не самих модулей.
Почему Cypress не находит типы для этих пакетов?
.tsconfig
:"include": [ "node_modules/cypress/types/index.d.ts", "node_modules/cypress/types/blob-util.d.ts", "node_modules/cypress/types/minimatch.d.ts", "node_modules/cypress/types/bluebird.d.ts", "cypress/**/*.ts" ]
- person Raghav Kukreti   schedule 04.09.2020include
tsconfig в дополнение кtypes
иtypeRoots
. Это не работает. - person im1dermike   schedule 04.09.2020