Issue with local jest type definitions (yarn 3 and jest)

I don’t think it’s very constructive to give “feedback” in the way you’re giving it.

That said: There is a lot of history around why yarn.lock is not included on GitHub, which you may want to explore if you’re interested. Including it wouldn’t solve the issue at hand. The issue is with a specific way Yarn resolves node modules (plug and play) which is far superior to the “node modules folder” which would duplicate the dependencies for each exercise. This isn’t unique to JavaScript and TypeScript, but there are also other languages such as Ruby that use a central-ish repository.

Things aren’t always broken in JavaScript, but one particular tiny thing is: eslint doesn’t understand the resolution of packages if it’s not in node modules. They have been working on a fix but it’s not released. A package from the community is supposed to resolve this but I have not yet gotten it to work the way we want it to.

Finally, the entire platform’s content, so anything apart from the core bits (the website editor etc.) is built by and maintained by volunteers. Unfortunately I currently have stage four lymphoma and am paralysed from the hips down. I won’t be able to fix this issue any time soon as I’m trying to stay alive instead. Perhaps you could direct your energy to resolve the issue yourself.

2 Likes

I’ve deleted my prior posts.

Sorry to hear about your situation. I sincerely wish you good health.

In general I really like exercism and the efforts of the volunteer maintainers. I have donated to the site as well.

My frustration is with the JS ecosystem. I’ve worked in in for brief stints before, and JS/node/npm has always just frustrated.

I’ve decided this ecosystem isn’t for me and will move on.

https://github.com/exercism/typescript/pull/1506 should resolve this, use Yarn 4, ESLint 9, integrate directly with VSCode and enable PnP.

Related:

1 Like

Wow, a huge pile of work for an update… no wonder I gave up trying to make that work.

Yah it was not fun :')

But this is nice!

For those reading, once this lands, if you’re using webstorm, you must call

corepack yarn dlx @yarnpkg/sdks base

…to make PnP work.

VSCode and other’s instruction’s are at Editor SDKs | Yarn

See: TypeScript "stopped working" locally