Skip to content

WIP: fix(solid-table): adapt to Solid v2 beta reactivity model#6242

Draft
brenelz wants to merge 2 commits into
TanStack:alphafrom
brenelz:upgrade-to-solid-v2-beta
Draft

WIP: fix(solid-table): adapt to Solid v2 beta reactivity model#6242
brenelz wants to merge 2 commits into
TanStack:alphafrom
brenelz:upgrade-to-solid-v2-beta

Conversation

@brenelz

@brenelz brenelz commented May 5, 2026

Copy link
Copy Markdown
  • Wrap props in FlexRender with accessor functions and use createMemo inside Match callbacks so reactive reads happen in tracking scopes (resolves STRICT_READ_UNTRACKED warnings).
  • Update basic-app-table example to call accessor args (row(), cell(), header(), footerGroup()) returned by Solid v2's callbacks.

- Wrap <Match when> props in FlexRender with accessor functions and use createMemo inside Match callbacks so reactive reads happen in tracking scopes (resolves STRICT_READ_UNTRACKED warnings).
- Update basic-app-table example to call accessor args (row(), cell(), header(), footerGroup()) returned by Solid v2's <For> callbacks.
@coderabbitai

coderabbitai Bot commented May 5, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f9c74175-0333-4756-96d7-4ab2fd51859a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@nx-cloud

nx-cloud Bot commented May 5, 2026

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit 7a51f3e

Command Status Duration Result
nx affected --targets=test:eslint,test:sherif,t... ❌ Failed 1m 41s View ↗
nx run-many --targets=build --exclude=examples/** ✅ Succeeded 25s View ↗

☁️ Nx Cloud last updated this comment at 2026-05-05 00:36:28 UTC

@pkg-pr-new

pkg-pr-new Bot commented May 5, 2026

Copy link
Copy Markdown
More templates

@tanstack/angular-table

npm i https://pkg.pr.new/TanStack/table/@tanstack/angular-table@6242

@tanstack/lit-table

npm i https://pkg.pr.new/TanStack/table/@tanstack/lit-table@6242

@tanstack/match-sorter-utils

npm i https://pkg.pr.new/TanStack/table/@tanstack/match-sorter-utils@6242

@tanstack/preact-table

npm i https://pkg.pr.new/TanStack/table/@tanstack/preact-table@6242

@tanstack/preact-table-devtools

npm i https://pkg.pr.new/TanStack/table/@tanstack/preact-table-devtools@6242

@tanstack/react-table

npm i https://pkg.pr.new/TanStack/table/@tanstack/react-table@6242

@tanstack/react-table-devtools

npm i https://pkg.pr.new/TanStack/table/@tanstack/react-table-devtools@6242

@tanstack/solid-table

npm i https://pkg.pr.new/TanStack/table/@tanstack/solid-table@6242

@tanstack/solid-table-devtools

npm i https://pkg.pr.new/TanStack/table/@tanstack/solid-table-devtools@6242

@tanstack/svelte-table

npm i https://pkg.pr.new/TanStack/table/@tanstack/svelte-table@6242

@tanstack/table-core

npm i https://pkg.pr.new/TanStack/table/@tanstack/table-core@6242

@tanstack/table-devtools

npm i https://pkg.pr.new/TanStack/table/@tanstack/table-devtools@6242

@tanstack/vue-table

npm i https://pkg.pr.new/TanStack/table/@tanstack/vue-table@6242

@tanstack/vue-table-devtools

npm i https://pkg.pr.new/TanStack/table/@tanstack/vue-table-devtools@6242

commit: 7a51f3e

"@tanstack/solid-store": "^0.11.0",
"goober": "^2.1.18",
"solid-js": "^1.9.12"
"solid-js": "^1.9.7"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why downgrade solid-js here?

- Bump solid-js and @solidjs/web from 2.0.0-beta.10 to 2.0.0-beta.15 in
  solid-table and all solid examples.
- Adapt FlexRender to the beta.15 control-flow API: <Match when> takes the
  value directly again and no longer accepts an accessor as a child
  (RenderedElement now excludes callables), so drop the createMemo/thunk
  wrappers and read the narrowed accessor directly.
- Drop now-unnecessary type assertions in reactivity.ts and stop exporting
  the internal UseSelectorOptions type (eslint/knip).
- Keep the devtools stack on Solid v1: move solid-table-devtools to
  solid-js ^1.9.7 (rewrite the hook to v1's single-arg createRenderEffect,
  import JSX from solid-js, jsxImportSource solid-js). table-devtools is
  already v1. The TanStack Devtools shell imports solid-js/web, which only
  exists in Solid v1; give the 3 framework devtools examples a solid-js v1
  devDependency so their devtools chain resolves to v1 and builds.
- pnpm: pin the v2 babel-preset-solid JSX compiler to beta.15 so it stays in
  lockstep with the @solidjs/web runtime (the lockfile had it at beta.10,
  which emits an addEventListener import beta.15 renamed to addEvent).
- test:sherif: ignore solid-js and vite-plugin-solid for the intentional
  v1/v2 split.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants