Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .changeset/slimy-mice-relate.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@tanstack/solid-query-persist-client': patch
'@tanstack/solid-query-devtools': patch
'@tanstack/solid-query': patch
---

chore: bumps solid v2 to beta.4
4 changes: 2 additions & 2 deletions examples/solid/astro/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@
"@tanstack/solid-query": "^6.0.0-alpha.0",
"@tanstack/solid-query-devtools": "^6.0.0-alpha.0",
"astro": "^5.5.6",
"@solidjs/web": "2.0.0-beta.2",
"solid-js": "2.0.0-beta.2",
"@solidjs/web": "2.0.0-beta.4",
"solid-js": "2.0.0-beta.4",
"tailwindcss": "^3.4.7",
"typescript": "5.8.3"
}
Expand Down
4 changes: 2 additions & 2 deletions examples/solid/basic-graphql-request/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
"@tanstack/solid-query-devtools": "^6.0.0-alpha.0",
"graphql": "^16.9.0",
"graphql-request": "^7.1.2",
"@solidjs/web": "2.0.0-beta.2",
"solid-js": "2.0.0-beta.2"
"@solidjs/web": "2.0.0-beta.4",
"solid-js": "2.0.0-beta.4"
},
"devDependencies": {
"typescript": "5.8.3",
Expand Down
4 changes: 2 additions & 2 deletions examples/solid/basic/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
"dependencies": {
"@tanstack/solid-query": "^6.0.0-alpha.0",
"@tanstack/solid-query-devtools": "^6.0.0-alpha.0",
"@solidjs/web": "2.0.0-beta.2",
"solid-js": "2.0.0-beta.2"
"@solidjs/web": "2.0.0-beta.4",
"solid-js": "2.0.0-beta.4"
},
"devDependencies": {
"typescript": "5.8.3",
Expand Down
4 changes: 2 additions & 2 deletions examples/solid/default-query-function/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
"dependencies": {
"@tanstack/solid-query": "^6.0.0-alpha.0",
"@tanstack/solid-query-devtools": "^6.0.0-alpha.0",
"@solidjs/web": "2.0.0-beta.2",
"solid-js": "2.0.0-beta.2"
"@solidjs/web": "2.0.0-beta.4",
"solid-js": "2.0.0-beta.4"
},
"devDependencies": {
"typescript": "5.8.3",
Expand Down
4 changes: 2 additions & 2 deletions examples/solid/offline/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
"@tanstack/solid-query-devtools": "^6.0.0-alpha.0",
"@tanstack/solid-query-persist-client": "^6.0.0-alpha.0",
"msw": "^2.6.6",
"@solidjs/web": "2.0.0-beta.2",
"solid-js": "2.0.0-beta.2"
"@solidjs/web": "2.0.0-beta.4",
"solid-js": "2.0.0-beta.4"
},
"devDependencies": {
"typescript": "5.8.3",
Expand Down
4 changes: 2 additions & 2 deletions examples/solid/simple/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
"dependencies": {
"@tanstack/solid-query": "^6.0.0-alpha.0",
"@tanstack/solid-query-devtools": "^6.0.0-alpha.0",
"@solidjs/web": "2.0.0-beta.2",
"solid-js": "2.0.0-beta.2"
"@solidjs/web": "2.0.0-beta.4",
"solid-js": "2.0.0-beta.4"
},
"devDependencies": {
"@tanstack/eslint-plugin-query": "^5.91.5",
Expand Down
4 changes: 2 additions & 2 deletions examples/solid/solid-start-streaming/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
"@solidjs/start": "^1.1.3",
"@tanstack/solid-query": "^6.0.0-alpha.0",
"@tanstack/solid-query-devtools": "^6.0.0-alpha.0",
"@solidjs/web": "2.0.0-beta.2",
"solid-js": "2.0.0-beta.2",
"@solidjs/web": "2.0.0-beta.4",
"solid-js": "2.0.0-beta.4",
"vinxi": "^0.5.3"
},
"engines": {
Expand Down
4 changes: 2 additions & 2 deletions integrations/solid-vite/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
"dependencies": {
"@tanstack/solid-query": "workspace:*",
"@tanstack/solid-query-devtools": "workspace:*",
"solid-js": "2.0.0-beta.2",
"solid-js": "2.0.0-beta.4",
"vite": "^6.4.1",
"vite-plugin-solid": "3.0.0-next.2",
"@solidjs/web": "2.0.0-beta.2"
"@solidjs/web": "2.0.0-beta.4"
}
}
6 changes: 3 additions & 3 deletions packages/solid-query-devtools/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,11 @@
"@babel/core": "^7.28.0",
"@babel/preset-typescript": "^7.18.6",
"@solidjs/testing-library": "^0.8.10",
"@solidjs/web": "2.0.0-beta.2",
"@solidjs/web": "2.0.0-beta.4",
"@tanstack/solid-query": "workspace:*",
"babel-preset-solid": "2.0.0-beta.2",
"babel-preset-solid": "2.0.0-beta.4",
"npm-run-all2": "^5.0.0",
"solid-js": "2.0.0-beta.2",
"solid-js": "2.0.0-beta.4",
"tsup-preset-solid": "^2.2.0",
"vite-plugin-solid": "3.0.0-next.2"
},
Expand Down
17 changes: 14 additions & 3 deletions packages/solid-query-devtools/src/devtools.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createEffect, createMemo, onCleanup, onSettled } from 'solid-js'
import { createEffect, createMemo, onCleanup } from 'solid-js'
import { onlineManager, useQueryClient } from '@tanstack/solid-query'
import { TanstackQueryDevtools } from '@tanstack/query-devtools'
import type {
Expand Down Expand Up @@ -118,9 +118,20 @@ export default function SolidQueryDevtools(props: DevtoolsOptions) {
},
)

onSettled(() => {
let isMounted = false
let isDisposed = false

queueMicrotask(() => {
if (isDisposed) return
devtools.mount(ref)
onCleanup(() => devtools.unmount())
isMounted = true
})

onCleanup(() => {
isDisposed = true
if (isMounted) {
devtools.unmount()
}
})

return <div class="tsqd-parent-container" ref={ref}></div>
Expand Down
17 changes: 14 additions & 3 deletions packages/solid-query-devtools/src/devtoolsPanel.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createEffect, createMemo, onCleanup, onSettled } from 'solid-js'
import { createEffect, createMemo, onCleanup } from 'solid-js'
import { onlineManager, useQueryClient } from '@tanstack/solid-query'
import { TanstackQueryDevtoolsPanel } from '@tanstack/query-devtools'
import type { DevtoolsErrorType, Theme } from '@tanstack/query-devtools'
Expand Down Expand Up @@ -93,9 +93,20 @@ export default function SolidQueryDevtoolsPanel(props: DevtoolsPanelOptions) {
},
)

onSettled(() => {
let isMounted = false
let isDisposed = false

queueMicrotask(() => {
if (isDisposed) return
devtools.mount(ref)
onCleanup(() => devtools.unmount())
isMounted = true
})

onCleanup(() => {
isDisposed = true
if (isMounted) {
devtools.unmount()
}
})

return (
Expand Down
28 changes: 27 additions & 1 deletion packages/solid-query-devtools/test-setup.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,32 @@
import '@testing-library/jest-dom/vitest'
import { cleanup } from '@solidjs/testing-library'
import { afterEach } from 'vitest'
import { afterEach, vi } from 'vitest'

/**
* @tanstack/query-devtools is written for Solid 1, where Suspense around
* lazy() was optional. During tests, @tanstack/custom-condition causes
* query-devtools source to be recompiled against Solid 2's runtime, which
* requires lazy() components to be inside a Loading boundary.
*
* This mock wraps lazy() so the returned component automatically renders
* inside a Loading boundary, bridging the Solid 1 → 2 behavioral gap.
*/
vi.mock('solid-js', async (importOriginal) => {
const mod = await importOriginal<typeof import('solid-js')>()
return {
...mod,
Suspense: mod.Loading,
lazy: (fn: () => Promise<{ default: any }>) => {
const Comp = mod.lazy(fn)
return (props: any) =>
mod.createComponent(mod.Loading, {
get children() {
return mod.createComponent(Comp, props)
},
})
},
}
})

// https://github.com/solidjs/solid-testing-library
afterEach(() => cleanup())
6 changes: 3 additions & 3 deletions packages/solid-query-persist-client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -69,12 +69,12 @@
"@babel/core": "^7.28.0",
"@babel/preset-typescript": "^7.18.6",
"@solidjs/testing-library": "^0.8.10",
"@solidjs/web": "2.0.0-beta.2",
"@solidjs/web": "2.0.0-beta.4",
"@tanstack/query-test-utils": "workspace:*",
"@tanstack/solid-query": "workspace:*",
"babel-preset-solid": "2.0.0-beta.2",
"babel-preset-solid": "2.0.0-beta.4",
"npm-run-all2": "^5.0.0",
"solid-js": "2.0.0-beta.2",
"solid-js": "2.0.0-beta.4",
"tsup-preset-solid": "^2.2.0",
"vite-plugin-solid": "3.0.0-next.2"
},
Expand Down
6 changes: 3 additions & 3 deletions packages/solid-query/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -71,11 +71,11 @@
"@babel/core": "^7.28.0",
"@babel/preset-typescript": "^7.18.6",
"@solidjs/testing-library": "^0.8.10",
"@solidjs/web": "2.0.0-beta.2",
"@solidjs/web": "2.0.0-beta.4",
"@tanstack/query-test-utils": "workspace:*",
"babel-preset-solid": "2.0.0-beta.2",
"babel-preset-solid": "2.0.0-beta.4",
"npm-run-all2": "^5.0.0",
"solid-js": "2.0.0-beta.2",
"solid-js": "2.0.0-beta.4",
"tsup-preset-solid": "^2.2.0",
"vite-plugin-solid": "3.0.0-next.2"
},
Expand Down
4 changes: 2 additions & 2 deletions packages/solid-query/src/__tests__/utils.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { vi } from 'vitest'
import { Show, createSignal, createTrackedEffect, onCleanup } from 'solid-js'
import { Show, createSignal, createTrackedEffect } from 'solid-js'
import { onlineManager } from '@tanstack/query-core'
import type { ParentProps } from 'solid-js'
import type { MockInstance } from 'vitest'
Expand All @@ -14,7 +14,7 @@ export function Blink(
createTrackedEffect(() => {
setShouldShow(true)
const timeout = setActTimeout(() => setShouldShow(false), props.duration)
onCleanup(() => clearTimeout(timeout))
return () => clearTimeout(timeout)
})

return (
Expand Down
Loading
Loading