nytimes / rd-bundler-3d-plugins

Bundler plugins for optimizing glTF 3D models
Other
122 stars 8 forks source link

`ReferenceError: location is not defined` with SvelteKit SSR #19

Open ixxie opened 1 year ago

ixxie commented 1 year ago

Describe the bug

It seems SSR in SvelteKit breaks vite-plugin-gltf, yielding an internal ReferenceError relating to an undefined location in a glb file. I'm not entirely sure if this is Vite related or SvelteKit related, but I thought this is a good place to start.

As requested, a copy of the issue is filed there: https://github.com/sveltejs/kit/issues/9000

Reproduction

Minimal reproduction is available in this repository.

Logs

ReferenceError: location is not defined
    at file:///home/ixxie/repos/sveltekit-gltf/.svelte-kit/output/server/entries/pages/_page.svelte.js:16468:55
    at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:530:24)
    at async Module.component (file:///home/ixxie/repos/sveltekit-gltf/.svelte-kit/output/server/nodes/2.js:4:39)
    at async Promise.all (index 1)
    at async render_response (file:///home/ixxie/repos/sveltekit-gltf/.svelte-kit/output/server/index.js:1206:19)
    at async render_page (file:///home/ixxie/repos/sveltekit-gltf/.svelte-kit/output/server/index.js:1752:12)
    at async resolve (file:///home/ixxie/repos/sveltekit-gltf/.svelte-kit/output/server/index.js:2436:22)
    at async respond (file:///home/ixxie/repos/sveltekit-gltf/.svelte-kit/output/server/index.js:2327:22)

System Info

System:
    OS: Linux 5.15 NixOS 23.05 (Stoat) 23.05 (Stoat)
    CPU: (4) x64 Intel(R) Core(TM) i7-6600U CPU @ 2.60GHz
    Memory: 3.13 GB / 7.62 GB
    Container: Yes
    Shell: 3.5.1 - /run/current-system/sw/bin/fish
  Binaries:
    Node: 18.12.1 - /run/current-system/sw/bin/node
    Yarn: 1.22.19 - /run/current-system/sw/bin/yarn
    npm: 8.19.2 - /run/current-system/sw/bin/npm
  Browsers:
    Chromium: 107.0.5304.121
    Firefox: 107.0
  npmPackages:
    @sveltejs/adapter-auto: ^1.0.0 => 1.0.2 
    @sveltejs/kit: ^1.0.0 => 1.3.9 
    svelte: ^3.54.0 => 3.55.1 
    vite: ^4.0.0 => 4.1.1

Severity

annoyance

Additional Information

Relevant discussions:

ixxie commented 1 year ago

It seems the other issue got a response from Rich Harris himself, and he identifies the source of the issue within the plugin: https://github.com/sveltejs/kit/issues/9000#issuecomment-1426820849