Skip to content

PrefetchPageLink in single fetch mode cause "window is not defined" #10474

Open
@anhdd-kuro

Description

@anhdd-kuro

Reproduction

https://stackblitz.com/edit/remix-run-remix-rv7ocwf6

System Info

System:
    OS: macOS 14.7
    CPU: (12) arm64 Apple M2 Pro
    Memory: 92.02 MB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 22.13.1 - /usr/local/bin/node
    npm: 11.1.0 - /usr/local/bin/npm
    pnpm: 9.15.3 - /usr/local/bin/pnpm
    bun: 1.1.38 - ~/.bun/bin/bun
  Browsers:
    Brave Browser: 133.1.75.175
    Chrome: 132.0.6834.160
    Safari: 17.6
  npmPackages:
    @remix-run/css-bundle: 2.15.3 => 2.15.3 
    @remix-run/dev: 2.15.3 => 2.15.3 
    @remix-run/eslint-config: 2.15.3 => 2.15.3 
    @remix-run/express: 2.15.3 => 2.15.3 
    @remix-run/node: 2.15.3 => 2.15.3 
    @remix-run/react: 2.15.3 => 2.15.3 
    @remix-run/serve: 2.15.3 => 2.15.3 
    @remix-run/server-runtime: ^2.15.3 => 2.15.3 
    vite: 6.1.0 => 6.1.0

Used Package Manager

pnpm

Expected Behavior

Should render prefetch link normally

Actual Behavior

Causing window is not defined error

ReferenceError: window is not defined
    at Object.singleFetchUrl (/home/projects/remix-run-remix-rv7ocwf6/node_modules/@remix-run/react/dist/single-fetch.js:324:58)
    at eval (/home/projects/remix-run-remix-rv7ocwf6/node_modules/@remix-run/react/dist/components.js:362:27)
    at Object.useMemo (/home/projects/remix-run-remix-rv7ocwf6/node_modules/react-dom/cjs/react-dom-server.node.development.js:5190:19)
    at Object.useMemo (/home/projects/remix-run-remix-rv7ocwf6/node_modules/react/cjs/react.development.js:1650:21)
    at PrefetchPageLinksImpl (/home/projects/remix-run-remix-rv7ocwf6/node_modules/@remix-run/react/dist/components.js:332:36)
    at renderWithHooks (/home/projects/remix-run-remix-rv7ocwf6/node_modules/react-dom/cjs/react-dom-server.node.development.js:5724:16)
    at renderIndeterminateComponent (/home/projects/remix-run-remix-rv7ocwf6/node_modules/react-dom/cjs/react-dom-server.node.development.js:5798:15)
    at renderElement (/home/projects/remix-run-remix-rv7ocwf6/node_modules/react-dom/cjs/react-dom-server.node.development.js:6023:7)
    at renderNodeDestructiveImpl (/home/projects/remix-run-remix-rv7ocwf6/node_modules/react-dom/cjs/react-dom-server.node.development.js:6181:11)
    at renderNodeDestructive (/home/projects/remix-run-remix-rv7ocwf6/node_modules/react-dom/cjs/react-dom-server.node.development.js:6153:14)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions