solidjs / solidjs/solid-start

v2 migration: duplicate solid-js copies break client-side routing with unclear router error

Open
#2,286 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

documentation
Dominant language
TypeScript
Stars
5.9k
Forks
426
Avg merge
1d 3h
Merged PRs (30d)
11

Description

Summary

After migrating a small site from SolidStart v1 / Vinxi to SolidStart v2 / Vite / Nitro, client-side navigation broke in a non-obvious way:

  • Clicking a route link updated the browser URL.
  • The rendered page stayed on the previous route.
  • The console error was:
TypeError: Cannot read properties of null (reading 'push')

Root cause

The app and @solidjs/start ended up with different copies of solid-js under pnpm:

  • app: solid-js@1.9.10
  • @solidjs/start@2.0.0: solid-js@1.9.14

That split Solid's reactive owner/context across module instances, so router context was null at runtime.

Workaround

Pin and force a single solid-js copy:

{
  "dependencies": {
    "solid-js": "^1.9.14"
  },
  "pnpm": {
    "overrides": {
      "solid-js": "^1.9.14"
    }
  }
}

After deduping, client-side navigation worked locally and on the Netlify deploy preview.

Request

Could SolidStart or Solid Router detect duplicate solid-js instances and surface a development-time error, or could the v2 migration guide call this out explicitly? The current runtime error does not point toward dependency duplication, which made this difficult to diagnose.

Environment

  • @solidjs/start: 2.0.0
  • @solidjs/router: 0.16.3
  • solid-js: 1.9.10 and 1.9.14 before dedupe
  • vite: 8.2.1
  • nitro: 3.0.260610-beta
  • pnpm: 10.33.4
  • Node: 24.19.0
  • Deployment: Netlify

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the SolidStart v2 migration guide and the router behavior described for duplicate solid-js installations. Determine whether the requested outcome is a development-time diagnostic or migration documentation, then verify that the guidance or error clearly identifies dependency duplication and preserves working client-side navigation after deduping.

Written by the indexing model from the issue text.

Assessment

Tech stack
vite
Domain
developer-experience
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.