FFFF `experimental.viteEnvironmentApi`: Having a modules folder causes "require is not defined" error · Issue #1591 · nuxt/test-utils · GitHub
[go: up one dir, main page]

Skip to content

experimental.viteEnvironmentApi: Having a modules folder causes "require is not defined" error #1591

@yschroe

Description

@yschroe

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

  1. experimental.viteEnvironmentApi is set to true in the project's nuxt.config.ts
  2. 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:73

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0