E/launcher - Ошибка: TSError: Невозможно скомпилировать машинописный текст
Эй, ребята, я столкнулся со следующей проблемой:
Мой проект построен на Angular4 с машинописным тестированием, тестированием e2e с транспортиром и кармой. Но уже несколько дней я получаю следующую ошибку:
File 'D:/myproject/node_modules/protractor/package.json' has unsupported extension. The only supported extensions are '.ts', '.tsx', '.d.ts'. (
6054)
File 'D:/myproject/node_modules/q/package.json' has unsupported extension. The only supported extensions are '.ts', '.tsx', '.d.ts'. (6054)
File 'D:/myproject/node_modules/selenium-webdriver/package.json' has unsupported extension. The only supported extensions are '.ts', '.tsx', '.
d.ts'. (6054)
File 'D:/myproject/node_modules/source-map/package.json' has unsupported extension. The only supported extensions are '.ts', '.tsx', '.d.ts'. (
6054)
File 'D:/myproject/node_modules/tapable/package.json' has unsupported extension. The only supported extensions are '.ts', '.tsx', '.d.ts'. (605
4)
File 'D:/myproject/node_modules/tslib/package.json' has unsupported extension. The only supported extensions are '.ts', '.tsx', '.d.ts'. (6054)
File 'D:/myproject/node_modules/uglify-js/package.json' has unsupported extension. The only supported extensions are '.ts', '.tsx', '.d.ts'. (6
054)
File 'D:/myproject/node_modules/webdriver-js-extender/node_modules/selenium-webdriver/package.json' has unsupported extension. The only support
ed extensions are '.ts', '.tsx', '.d.ts'. (6054)
File 'D:/myproject/node_modules/webdriver-js-extender/package.json' has unsupported extension. The only supported extensions are '.ts', '.tsx',
'.d.ts'. (6054)
at getOutput (D:\myproject\node_modules\ts-node\src\index.ts:300:15)
at D:\myproject\node_modules\ts-node\src\index.ts:330:16
at Object.compile (D:\myproject\node_modules\ts-node\src\index.ts:489:17)
at Module.m._compile (D:\myproject\node_modules\ts-node\src\index.ts:382:43)
at Module._extensions..js (module.js:580:10)
at Object.require.extensions.(anonymous function) [as .ts] (D:\myproject\node_modules\ts-node\src\index.ts:385:12)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
[23:41:57] E/launcher - Process exited with error code 100
Как я понимаю сообщение об ошибке, загрузчик Typscript пытается передать файлы не-TS. Наверняка я обыскал весь интернет, прежде чем опубликовать свой вопрос, и похоже, что что-то с @types в моем tsconfig.json не работает должным образом.
Я проверил документацию по @types и tsconfig и связанным с ними проблемам на github, но я думаю, что здесь он ведет себя неправильно. Документы утверждают, что
включены только файлы с поддерживаемыми расширениями (например,.ts,.tsx и.d.ts по умолчанию с.js и.jsx, если для allowJs задано значение true).
Тогда почему он пытается включить все файлы.json?
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"sourceMap": true,
"noEmit": true,
"noEmitHelpers": true,
"importHelpers": true,
"strictNullChecks": false,
"lib": [
"dom",
"es6"
],
"typeRoots": [
"node_modules/@types"
],
"types": [
"hammerjs",
"jasmine",
"node",
"source-map",
"uglify-js",
"webpack"
]
},
"exclude": [
"node_modules",
"dist"
],
"awesomeTypescriptLoaderOptions": {
"forkChecker": true,
"useWebpackText": true
},
"compileOnSave": false,
"buildOnSave": false,
"atom": {
"rewriteTsconfig": false
}
}
Подробная информация о моем проекте:
узел v7.4.0
npm v4.1.2
typescript@2.3.4
protractor@5.1.2
├── src/
│ ├── custom-typings.d.ts
├── node_modules/
│ ├── @types
│ | ├── hammerjs
│ | | ├── index.d.ts
│ | | ├── package.json
│ | | ├── README.md
│ | | ├── types-metadata.json
│ | ├── jasmine
│ | | ├── index.d.ts
│ | | ├── ...
│ | ├── node
│ | | ├── index.d.ts
│ | | ├── ...
│ | ├── source-map
│ | | ├── index.d.ts
│ | | ├── ...
│ | ├── uglify-js
│ | | ├── index.d.ts
│ | | ├── ...
│ | ├── webpack
│ | | ├── index.d.ts
│ | | ├── ...
│ | ├── ...
│ └── (@agm, @angular, ...)
└── package.json
Что я уже пробовал:
- удаление блока исключения, так как он содержит значение по умолчанию:
Свойство "exclude" по умолчанию исключает node_modules, bower_components, jspm_packages и каталоги, если они не указаны.
настройка параметра "allowJs: true" приводила к отсутствию загрузчика для файлов (не подходящее решение)
удаление typeRoots для использования настроек по умолчанию привело к той же ошибке
Как я могу решить эту проблему, чтобы загрузить только соответствующие файлы.ts? Заранее благодарю за любую помощь!
- добавление
"include": [ "src/**/*" ]
или же"include": [ "src/**/*.ts" ]
- привело к той же ошибке
Дополнительные ресурсы: