My tsconfig.json
is
{
"compilerOptions": {
"outDir": "./dist/",
"sourceMap": true,
"module": "es6",
"target": "es5",
"jsx": "react",
"allowJs": true,
"preserveConstEnums": true,
"removeComments": true,
"noImplicitAny": false,
"moduleResolution": "node",
"noUnusedParameters": true
},
"include": [
"./src/**/*"
],
"exclude": [
"node_modules",
"@typings",
"typings/main",
"typings/main.d.ts",
"typings/index.d.ts"
],
"paths": {
"react": ["node_modules/@types/react"]
}
}
И я добавил karma-typescript
в свою конфигурацию
settings.frameworks.push('karma-typescript');
settings.preprocessors['test-bundler.js'].unshift('karma-typescript');
settings.karmaTypescriptConfig = {
tsconfig: './tsconfig.json',
};
Используя webpack, dev-сервер и компиляция работают нормально.
А вот и фиктивный тест
describe('Root', () => {
it('should pass', () => {
console.log('done');
});
});
При запуске теста я получаю
node_modules/@types/react/index.d.ts (2736,19): ошибка TS2320: интерфейс ElementClass не может одновременно расширять типы Component и Component. Именованные свойства «props» типов «Компонент» и «Компонент» не идентичны.
И аналогичные тем. Если я удалю settings.preprocessors['test-bundler.js'].unshift('karma-typescript');
, тогда тест пройдет нормально (но тогда я не смогу предварительно скомпилировать машинописный текст, когда начну импортировать свои исходные файлы.
Что здесь происходит? Моя обычная сборка и dev-сервер работают нормально с tsconfig.json
, что у меня