-
Notifications
You must be signed in to change notification settings - Fork 110
Open
Labels
Description
Environment
| Operating system | macOS 25.2.0 |
| CPU | Apple M1 (8 cores) |
| Node.js version | v25.6.0 |
| nuxt/cli version | 3.33.1 |
| Package manager | bun@1.3.9 |
| Nuxt version | 4.3.1 |
| Nitro version | 2.13.1 |
| Builder | vite@7.3.1 |
| Config | compatibilityDate, devtools, experimental, modules |
| Modules | @nuxt/test-utils/module@4.0.0 |
Reproduction
https://github.com/yschroe/vitest-nuxt-repro
Describe the bug
When
experimental.viteEnvironmentApiis set to true in the project'snuxt.config.ts- The project contains a module definition in a nuxt modules folder
Vitest breaks with "require is not defined" when running a test in the nuxt environment.
The module can be as simple as:
/* modules/my-module.ts */
import { defineNuxtModule } from '@nuxt/kit';
export default defineNuxtModule({});Even if this module is non-functional, I noticed this problem in my real project and finally narrowed it down to the module file.
Deleting the module or disabling the experimental viteEnvironmentApi flag both solve the problem.
Additional context
No response
Logs
Error: [vitest-pool]: Failed to start forks worker for test files /Users/yannik/Documents/workspace/nuxt-app/test/nuxt/some-test.test.ts.
❯ node_modules/vitest/dist/chunks/cli-api.B7PN_QUv.js:8046:94
❯ processTicksAndRejections node:internal/process/task_queues:104:5
❯ Pool.schedule node_modules/vitest/dist/chunks/cli-api.B7PN_QUv.js:8046:5
Caused by: ReferenceError: require is not defined
❯ eval node_modules/vite/dist/node/module-runner.js:913:9
❯ ESModulesEvaluator.runInlinedModule node_modules/vite/dist/node/module-runner.js:913:161
❯ ModuleRunner.directRequest node_modules/vite/dist/node/module-runner.js:1146:80
❯ processTicksAndRejections node:internal/process/task_queues:104:5
❯ ModuleRunner.cachedRequest node_modules/vite/dist/node/module-runner.js:1053:73Reactions are currently unavailable