Skip to content

Remote functions break Vitest tests with jsdom/happy-dom #16290

Description

@cemreyavuz

Describe the bug

Importing a remote function (*.remote.ts) into a Vitest test that runs under a DOM environment (happy-dom or jsdom) throws at collection time:

[vite] (ssr) Error when evaluating SSR module .../src/lib/data.remote.ts: __SVELTEKIT_PATHS_BASE__ is not defined
ReferenceError: __SVELTEKIT_PATHS_BASE__ is not defined
  Plugin: vite-plugin-sveltekit-remote

This was working fine with 2.55.0 but started to break with the 2.56.0 upgrade.

The same test passes under environment: 'node'. The test never touches the DOM itself - the failure happens while the plugin evaluates the imported remote module, before any test runs.

Reproduction

Created a minimal repro here: https://github.com/cemreyavuz/sveltekit-remote-vitest-repro.

bun install
bun run sync

TEST_ENV=node      bunx vitest run   # ✅ passes
TEST_ENV=happy-dom bunx vitest run   # ❌ ReferenceError: __SVELTEKIT_PATHS_BASE__ is not defined
TEST_ENV=jsdom     bunx vitest run   # ❌ ReferenceError: __SVELTEKIT_PATHS_BASE__ is not defined

Logs

$ TEST_ENV=happy-dom bunx vitest run

 RUN  v4.1.10 /repro

1:59:12 PM [vite] (ssr) Error when evaluating SSR module /repro/src/lib/data.remote.ts: __SVELTEKIT_PATHS_BASE__ is not defined
      at eval (/repro/node_modules/@sveltejs/kit/src/runtime/app/paths/internal/server.js:11:12)
      at ESModulesEvaluator.runInlinedModule (file:///repro/node_modules/vite/dist/node/module-runner.js:913:161)
      at SSRCompatModuleRunner.directRequest (file:///repro/node_modules/vite/dist/node/module-runner.js:1146:80)
      at SSRCompatModuleRunner.directRequest (file:///repro/node_modules/vite/dist/node/chunks/config.js:15184:22)
      at SSRCompatModuleRunner.cachedRequest (file:///repro/node_modules/vite/dist/node/module-runner.js:1053:73)
      at eval (/repro/node_modules/@sveltejs/kit/src/runtime/app/paths/server.js:9:31)
      at ESModulesEvaluator.runInlinedModule (file:///repro/node_modules/vite/dist/node/module-runner.js:913:3)
      at SSRCompatModuleRunner.directRequest (file:///repro/node_modules/vite/dist/node/module-runner.js:1146:59)
      at SSRCompatModuleRunner.directRequest (file:///repro/node_modules/vite/dist/node/chunks/config.js:15184:22)
      at SSRCompatModuleRunner.cachedRequest (file:///repro/node_modules/vite/dist/node/module-runner.js:1053:73)
 ❯ src/data.spec.ts (0 test)

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Suites 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯

 FAIL  src/data.spec.ts [ src/data.spec.ts ]
ReferenceError: __SVELTEKIT_PATHS_BASE__ is not defined
  Plugin: vite-plugin-sveltekit-remote
  File: /repro/src/lib/data.remote.ts
 ❯ eval node_modules/@sveltejs/kit/src/runtime/app/paths/internal/server.js:11:12
     10|  * this one's the original non-relative base path
     11|  */
     12| export const initial_base = initial.base;
       |   ^
     13|
     14| /**
 ❯ SSRCompatModuleRunner.directRequest node_modules/vite/dist/node/chunks/config.js:15184:22
 ❯ eval node_modules/@sveltejs/kit/src/runtime/app/paths/server.js:9:31
 ❯ SSRCompatModuleRunner.directRequest node_modules/vite/dist/node/chunks/config.js:15184:22

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯


 Test Files  1 failed (1)
      Tests  no tests
   Start at  13:59:11
   Duration  189ms (transform 11ms, setup 0ms, import 0ms, tests 0ms, environment 84ms)

System Info

System:
    OS: macOS 26.0.1
    CPU: (14) arm64 Apple M4 Pro
    Memory: 437.39 MB / 24.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 24.14.0 - /Users/cemreyavuz/.nvm/versions/node/v24.14.0/bin/node
    Yarn: 1.22.22 - /Users/cemreyavuz/.nvm/versions/node/v24.14.0/bin/yarn
    npm: 11.9.0 - /Users/cemreyavuz/.nvm/versions/node/v24.14.0/bin/npm
    pnpm: 10.32.1 - /Users/cemreyavuz/.nvm/versions/node/v24.14.0/bin/pnpm
    bun: 1.3.10 - /Users/cemreyavuz/.bun/bin/bun
  Browsers:
    Chrome: 149.0.7827.201
    Safari: 26.0.1
  npmPackages:
    @sveltejs/adapter-auto: ^6.1.0 => 6.1.1
    @sveltejs/kit: 2.68.0 => 2.68.0
    @sveltejs/vite-plugin-svelte: 6.2.4 => 6.2.4
    svelte: ^5.56.3 => 5.56.4
    vite: ^7.3.1 => 7.3.6

Severity

blocking an upgrade

Additional Information

No response

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions