WIP: fix(solid-table): adapt to Solid v2 beta reactivity model#6242
WIP: fix(solid-table): adapt to Solid v2 beta reactivity model#6242brenelz wants to merge 2 commits into
Conversation
brenelz
commented
May 5, 2026
- 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.
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
View your CI Pipeline Execution ↗ for commit 7a51f3e
☁️ Nx Cloud last updated this comment at |
| "@tanstack/solid-store": "^0.11.0", | ||
| "goober": "^2.1.18", | ||
| "solid-js": "^1.9.12" | ||
| "solid-js": "^1.9.7" |
- 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>