Я встречаю следующую ошибку. Это выглядит странно. Локально работает без ошибок возникает только на контейнере действий GitHub ci. И я не знаю, как его поймать. Странно еще и то, что метод toHexString
существует в типе ObjectId. Используются NestJS и mongoose, поэтому существует много похожих типов по разным причинам. Но все они показывают, что у них есть метод. Это проблема машинописного текста.
● Test suite failed to run
src/features/branch-role/services/branch-role.service.ts:28:41 - error TS2339: Property 'toHexString' does not exist on type 'ObjectId'.
28 roleDTO.branchId = role.branchId?.toHexString();
Есть описание ошибки. Выглядит логично, но не раскрывает проблему. tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"declaration": true,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"target": "es2017",
"sourceMap": true,
"outDir": "./dist",
"baseUrl": "./",
"incremental": true,
"skipLibCheck": true,
"strictNullChecks": false,
"noImplicitAny": false,
"strictBindCallApply": false,
"forceConsistentCasingInFileNames": false,
"noFallthroughCasesInSwitch": false
}
}
Думаю, я использую тот же файл tsconfig.json. Точно сказать не могу, так как он используется по умолчанию.
Была такая же ошибка. Я не совсем уверен, в чем проблема, но она связана с определениями типов для модуля bson
, которые не разрешаются должным образом.
Ручная установка мне помогла.
yarn add -D @types/bson
ИЛИ
npm install --save-dev @types/bson
Да, это может быть проблемой. Он присутствовал в моем проекте, когда VSCode автоматически генерировал импорт. Теперь я исправил его, чтобы импортировать из mongodb
Да, я нашел то, что пропустил.
Может ли это быть несоответствие между целевой версией JS в вашем
tsconfig.json
? Пожалуйста, убедитесь, что этот файл тот же самый (т.е. убедитесь, что вы не игнорируете его git)