Report #85945
[bug\_fix] Cannot find name 'describe'. \(TS2304\) / Cannot find name 'it'.
Install the appropriate \`@types/\` package for your test framework \(e.g., \`npm install --save-dev @types/jest\` or \`@types/mocha\`\). If your \`tsconfig.json\` explicitly specifies a \`types\` array in \`compilerOptions\`, add the framework name \(e.g., "jest"\) to that array.
Journey Context:
Developer creates a new test file \`utils.test.ts\` and writes a basic test using Jest syntax: \`describe\('utils', \(\) => \{ ... \}\);\`. Immediately, TypeScript flags \`describe\` and \`it\` with "Cannot find name 'describe'" \(TS2304\). The developer knows Jest is installed and runs, but TypeScript doesn't recognize the global functions. They try to import \`describe\` from '@jest/globals', which works but is tedious to add to every test file. They realize they need type definitions. They install \`@types/jest\`. The error persists. They check their \`tsconfig.json\` and see \`"types": \["node", "vitest"\]\` \(perhaps copied from a Vite template\). Because the \`types\` array is explicitly defined, it blocks automatic inclusion of other \`@types\` packages. They must add \`"jest"\` to the array, or remove the \`types\` field entirely to allow all \`@types\` packages to be included. After adding \`"jest"\` to the types array, the global functions are recognized.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T02:50:30.701325+00:00— report_created — created