Я использую Jhipster и создал приложение шлюза с внешним интерфейсом. На github я создал конвейер, который пытается запустить внешние тесты, например, npm run test. Однако тесты дают сбой с более чем 200 ошибками в tyescript. В основном такая же ошибка, как показано ниже.
Я знаю, что могу go, хотя каждый файл и пытаюсь исправить все ошибки, но мне интересно, почему / как jhipster создал все недействительные файлы TS. Возможно, это проблема управления версиями, так как я делал обновление jhipster, но я не уверен, проходили ли эти тесты раньше, так как конвейер только новый, и я никогда не работал локально.
Для справки я использую последнюю версию jHipster 6.6. 0 и последний установленный выпуск LTS узла 12.4.1 и npm 6.13.6. Однако в сгенерированном Jhipster pom он получает зависимость для узла 12.13.1 и npm 6.13.4.
Более 260 из этих ошибок и некоторые другие
error expected call-signature: 'countDeleteButtons' to have a typedef (tslint:typedef) @typescript-eslint/tslint/config
error Async arrow function has no 'await' expression @typescript-eslint/require-await
Также мне пришлось отредактировать многочисленные ts-файлы, чтобы исправить некорректный импорт модулей, чтобы завершить сборку веб-пакета, прежде чем идти так далеко. Опять же, просто интересно, как jHipster генерирует файлы с такими ошибками.
Обновление - я прошел мимо, настроив tslint, чтобы игнорировать эти ошибки. Однако я не уверен, почему файлы, сгенерированные Jhipster, содержат ошибки из коробки. Теперь «npm Запустить webpack: prod» завершается ошибкой с сотнями ошибок, таких как:
src/test/javascript/spec/app/entities/jawnapp/comment/comment.service.spec.ts:18:9 - error TS7034: Variable 'expectedResult' implicitly has type 'any' in some locations where its type cannot be determined.
src/test/javascript/spec/app/entities/jawnapp/comment/comment.service.spec.ts:48:16 - error TS7005: Variable 'expectedResult' implicitly has an 'any' type.
.yo-r c. json
{
"generator-jhipster": {
"promptValues": {
"packageName": "com.jawndoe.gate",
"microservicePath": "../jawnapp"
},
"jhipsterVersion": "6.6.0",
"applicationType": "gateway",
"baseName": "jawngate",
"packageName": "com.jawndoe.gate",
"packageFolder": "com/jawndoe/gate",
"serverPort": "8080",
"authenticationType": "oauth2",
"cacheProvider": "hazelcast",
"enableHibernateCache": true,
"websocket": "spring-websocket",
"databaseType": "sql",
"devDatabaseType": "h2Disk",
"prodDatabaseType": "postgresql",
"searchEngine": "elasticsearch",
"messageBroker": "kafka",
"serviceDiscoveryType": "eureka",
"buildTool": "maven",
"enableSwaggerCodegen": true,
"useSass": true,
"clientPackageManager": "npm",
"clientFramework": "angularX",
"clientTheme": "lux",
"clientThemeVariant": "dark",
"testFrameworks": ["gatling", "cucumber", "protractor"],
"jhiPrefix": "gate",
"entitySuffix": "",
"dtoSuffix": "DTO",
"otherModules": [],
"enableTranslation": false,
"blueprints": [],
"embeddableLaunchScript": false,
"creationTimestamp": 1579646926343,
"herokuAppName": "jawngate",
"herokuDeployType": "jar"
}
}