fix: require solid-js 1.9.13 or later by AlemTuzlak · Pull Request #543 · TanStack/devtools · GitHub
Skip to content

fix: require solid-js 1.9.13 or later - #543

Open
AlemTuzlak wants to merge 2 commits into
mainfrom
fix/511-solid-js-floor
Open

AlemTuzlak wants to merge 2 commits into
mainfrom
fix/511-solid-js-floor

Conversation

@AlemTuzlak

@AlemTuzlak AlemTuzlak commented Oct 2, 2026 •

Copy link
Copy Markdown
Collaborator

SSR apps with solid-js 1.9.12 or earlier in their lockfile cannot start the dev server: "use" is not exported by solid-js/web/dist/server.js. This PR raises the solid-js minimum to 1.9.13, the first version whose server build exports use.

🎯 Changes

  • The Solid compiler emits use from solid-js/web for every ref. Since devtools-ui 0.7.0, ThemeContextProvider has a ref, and devtools and devtools-utils have refs too.
  • solid-js added use to its server build (as a notSup stub) in 1.9.13. Our ranges were >=1.9.7 and ^1.9.9, so lockfiles with 1.9.12 stayed valid and then failed.
  • The dependency and peer ranges in devtools, devtools-ui, devtools-utils, devtools-a11y, and solid-devtools now start at 1.9.13.
  • The Solid examples and the Solid e2e app also move to ^1.9.13, because sherif requires one range per dependency in the workspace.
  • The lockfile moves from solid-js 1.9.12 to 1.9.15 everywhere, so the workspace keeps one copy of Solid. No other package changes.
  • 1.9.11 and later also include the seroval security fix that bump solid-js to avoid security vulnerability #410 asks for.

✅ Checklist

  • I have followed the steps in the Contributing guide.
  • I have tested code changes locally with pnpm test:pr, or these tests do not apply to this pull request.
  • I fully understand the code in this pull request, including any code generated with AI assistance.

🚀 Release Impact

  • This change affects published code, and I have generated a changeset.
  • This change is docs/CI/dev-only (no release).

Testing

Commands run

  • vitest run for devtools-ui (64), devtools (370), devtools-utils (18), and devtools-a11y (31): all pass on solid-js 1.9.15.
  • pnpm install --frozen-lockfile: the lockfile is consistent.
  • pnpm run test:sherif: no errors.
  • From packages/devtools-ui, solid-js/web resolves to the server build under Node, and typeof use is function.
  • I did not run the full pnpm test:pr.

Manual test

  1. Use a TanStack Start app with solid-js@1.9.12 in its lockfile and @tanstack/devtools@0.14.x.
  2. Before this fix: vite dev fails with MISSING_EXPORT "use".
  3. After this fix: installing a build from this branch pulls solid-js 1.9.13 or later, and vite dev starts.

How this PR makes testing easy

No new tests. The existing Solid package suites now run on solid-js 1.9.15.

Linked issues

Fixes #511
Fixes #410

Risk / rollback

Low. Apps that pin solid-js below 1.9.13 get a peer warning and must update solid-js. To undo, revert this PR.

Public API change

Before

"peerDependencies": { "solid-js": ">=1.9.7" }

After

"peerDependencies": { "solid-js": ">=1.9.13" }

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Compatibility
    • SolidJS DevTools packages and examples now require SolidJS 1.9.13 or later. Earlier versions may not support server builds correctly.
  • Releases
    • Patch releases are planned for the affected DevTools packages.

The Solid compiler emits `use` from solid-js/web for every `ref`, and
devtools-ui 0.7.0 added a ref to ThemeContextProvider. The server build of
solid-js exported `use` only from 1.9.13, so SSR apps with solid-js 1.9.12
or earlier in their lockfile failed with `"use" is not exported`.

The dependency and peer ranges were ">=1.9.7" and "^1.9.9", so resolvers kept
the old versions. They now start at 1.9.13. The lockfile moves to solid-js
1.9.15 and no other package changes.

1.9.11+ also has the seroval security fix from #410.

Fixes #511
Fixes #410
@coderabbitai

coderabbitai Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

@nx-cloud

nx-cloud Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit d2c6102

Command Status Duration Result
nx run-many --target=test:e2e --parallel=1 --pr... ✅ Succeeded 1m 15s View ↗
nx affected --targets=test:eslint,test:sherif,t... ✅ Succeeded 25s View ↗
nx run-many --targets=build --exclude=examples/... ✅ Succeeded 2s View ↗

☁️ Nx Cloud last updated this comment at 2026-10-02 15:28:13 UTC

@nx-cloud

nx-cloud Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

🤖 Nx Cloud AI Fix Eligible

An automatically generated fix could have helped fix failing tasks for this run, but Self-healing CI is disabled for this workspace. Visit workspace settings to enable it and get automatic fixes in future runs.

To disable these notifications, a workspace admin can disable them in workspace settings.


View your CI Pipeline Execution ↗ for commit 76ea7ee

Command Status Duration Result
nx affected --targets=test:eslint,test:sherif,t... ❌ Failed 4m 54s View ↗
nx run-many --target=test:e2e --parallel=1 --pr... ✅ Succeeded 1m 16s View ↗
nx run-many --targets=build --exclude=examples/... ✅ Succeeded 48s View ↗

☁️ Nx Cloud last updated this comment at 2026-10-02 13:33:48 UTC

@pkg-pr-new

pkg-pr-new Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

sherif requires one range per dependency across the workspace. The
examples and the Solid e2e app still asked for ^1.9.9. The lockfile already
resolved them to 1.9.15, so only the specifiers change.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant