Некорректный тип функции `it(`
Last Hermione version that worked
7.x.x
Hermione version
8.1.0
Code to reproduce the issue
it("Мой тест", async ({currentTest}) => {
....
});
В новой версии ругается что currentTest не определена в Mocha.TestFunction, хотя ранее тут был тип TestDefinition от Hermione.
Expected behavior
syntax correct
Actual behavior
TS2339: Property 'currentTest' does not exist on type 'Done'.
Additional information
Лечится вот так в проектном global.d.ts:
// noinspection ES6UnusedImports
// eslint-disable-next-line @typescript-eslint/no-unused-vars
import type Hermione from 'hermione';
Node.js version
20.10.0
Operating System
macOS
Hello.
In your tsconfig.json file try to specify:
{
"compilerOptions": {
"types": [
"hermione"
]
}
}
This does not helps :((
But this is workaround:
You are right. Only your workaround or similar triple-slash directive works.
I'm working on this issue now and will let you know as soon as I figure out a solution.
After discussion with the team, I believe the only viable solution for us would be to publish typings separately in the @types package, even though hermione itself is now written in TypeScript. This way, everything would work as expected and global API would be visible automatically. Jest uses the same approach. I tried to do this quickly, but encountered some deeper types issues in one of our dependencies, so for now I'll put it into backlog.
Up until that, I suggest using the workaround you mentioned. We'll get back to this issue as soon as we can.