diff --git a/.changeset/config.json b/.changeset/config.json
index 67493148e..0c2ce612d 100644
--- a/.changeset/config.json
+++ b/.changeset/config.json
@@ -8,7 +8,13 @@
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
- "fixed": [],
+ "fixed": [
+ [
+ "@tanstack/form-devtools",
+ "@tanstack/react-form-devtools",
+ "@tanstack/solid-form-devtools"
+ ]
+ ],
"linked": [],
"ignore": []
}
diff --git a/.changeset/petite-ducks-cough.md b/.changeset/petite-ducks-cough.md
new file mode 100644
index 000000000..f75b2d703
--- /dev/null
+++ b/.changeset/petite-ducks-cough.md
@@ -0,0 +1,7 @@
+---
+'@tanstack/react-form-devtools': minor
+'@tanstack/solid-form-devtools': minor
+'@tanstack/form-devtools': minor
+---
+
+Migrated to devtools utils, adds support for solid devtools. Renamed plugin to reflect tanstack plugin schema (FormDevtoolsPlugin to formDevtoolsPlugin)
diff --git a/codecov.yml b/codecov.yml
index 7700cbe30..2c238004a 100755
--- a/codecov.yml
+++ b/codecov.yml
@@ -9,3 +9,4 @@ coverage:
ignore:
- 'packages/form-devtools'
- 'packages/react-form-devtools'
+ - 'packages/solid-form-devtools'
diff --git a/docs/framework/react/guides/devtools.md b/docs/framework/react/guides/devtools.md
index 576c5f9a3..9a15e521b 100644
--- a/docs/framework/react/guides/devtools.md
+++ b/docs/framework/react/guides/devtools.md
@@ -30,11 +30,11 @@ createRoot(document.getElementById('root')!).render(
)
```
-Import the `FormDevtoolsPlugin` from **TanStack Form** and provide it to the `TanStackDevtools` component.
+Import the `formDevtoolsPlugin` from **TanStack Form** and provide it to the `TanStackDevtools` component.
```tsx
import { TanStackDevtools } from '@tanstack/react-devtools'
-import { FormDevtoolsPlugin } from '@tanstack/react-form-devtools'
+import { formDevtoolsPlugin } from '@tanstack/react-form-devtools'
import App from './App'
@@ -42,7 +42,7 @@ createRoot(document.getElementById('root')!).render(
-
+
,
)
```
diff --git a/docs/framework/solid/guides/devtools.md b/docs/framework/solid/guides/devtools.md
new file mode 100644
index 000000000..a238f5ec2
--- /dev/null
+++ b/docs/framework/solid/guides/devtools.md
@@ -0,0 +1,60 @@
+---
+id: devtools
+title: Devtools
+---
+
+TanStack Form comes with a ready to go suit of devtools.
+
+## Setup
+
+Install the [TanStack Devtools](https://tanstack.com/devtools/latest/docs/quick-start) library and the [TanStack Form plugin](http://npmjs.com/package/@tanstack/solid-form-devtools), from the framework adapter that your working in (in this case `@tanstack/solid-devtools`, and `@tanstack/solid-form-devtools`).
+
+```bash
+npm i @tanstack/solid-devtools
+npm i @tanstack/solid-form-devtools
+```
+
+Next in the root of your application import the `TanStackDevtools`.
+
+```tsx
+import { TanStackDevtools } from '@tanstack/solid-devtools'
+
+import App from './App'
+
+render(
+ () => (
+ <>
+
+
+
+ >
+ ),
+ root!,
+)
+```
+
+Import the `formDevtoolsPlugin` from **TanStack Form** and provide it to the `TanStackDevtools` component.
+
+```tsx
+import { TanStackDevtools } from '@tanstack/solid-devtools'
+import { formDevtoolsPlugin } from '@tanstack/solid-form-devtools'
+
+import App from './app'
+
+const root = document.getElementById('root')
+
+render(
+ () => (
+ <>
+
+
+
+ >
+ ),
+ root!,
+)
+```
+
+Finally add any additional configuration you desire to the `TanStackDevtools` component, more information can be found under the [TanStack Devtools Configuration](https://tanstack.com/devtools/) section.
+
+A complete working example can be found in our [examples section](https://tanstack.com/form/latest/docs/framework/solid/examples/devtools).
diff --git a/examples/react/array/src/index.tsx b/examples/react/array/src/index.tsx
index 70dd2ff3d..4f2ea539e 100644
--- a/examples/react/array/src/index.tsx
+++ b/examples/react/array/src/index.tsx
@@ -2,7 +2,7 @@ import * as React from 'react'
import { createRoot } from 'react-dom/client'
import { TanStackDevtools } from '@tanstack/react-devtools'
-import { FormDevtoolsPlugin } from '@tanstack/react-form-devtools'
+import { formDevtoolsPlugin } from '@tanstack/react-form-devtools'
import { useForm } from '@tanstack/react-form'
interface Person {
@@ -85,7 +85,7 @@ createRoot(rootElement).render(
,
)
diff --git a/examples/react/devtools/src/index.tsx b/examples/react/devtools/src/index.tsx
index 535dfda34..feae77cd8 100644
--- a/examples/react/devtools/src/index.tsx
+++ b/examples/react/devtools/src/index.tsx
@@ -2,7 +2,7 @@ import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import { TanStackDevtools } from '@tanstack/react-devtools'
-import { FormDevtoolsPlugin } from '@tanstack/react-form-devtools'
+import { formDevtoolsPlugin } from '@tanstack/react-form-devtools'
import App from './App'
@@ -10,6 +10,6 @@ createRoot(document.getElementById('root')!).render(
-
+
,
)
diff --git a/examples/react/dynamic/src/index.tsx b/examples/react/dynamic/src/index.tsx
index 59a58b49a..b7506f383 100644
--- a/examples/react/dynamic/src/index.tsx
+++ b/examples/react/dynamic/src/index.tsx
@@ -3,7 +3,7 @@ import { createRoot } from 'react-dom/client'
import { z } from 'zod'
import { TanStackDevtools } from '@tanstack/react-devtools'
-import { FormDevtoolsPlugin } from '@tanstack/react-form-devtools'
+import { formDevtoolsPlugin } from '@tanstack/react-form-devtools'
import { revalidateLogic, useForm } from '@tanstack/react-form'
import type { AnyFieldApi } from '@tanstack/react-form'
@@ -125,7 +125,7 @@ createRoot(rootElement).render(
,
)
diff --git a/examples/react/field-errors-from-form-validators/src/index.tsx b/examples/react/field-errors-from-form-validators/src/index.tsx
index a57bf7785..83abbe323 100644
--- a/examples/react/field-errors-from-form-validators/src/index.tsx
+++ b/examples/react/field-errors-from-form-validators/src/index.tsx
@@ -2,7 +2,7 @@ import { createRoot } from 'react-dom/client'
import { useForm } from '@tanstack/react-form'
import { TanStackDevtools } from '@tanstack/react-devtools'
-import { FormDevtoolsPlugin } from '@tanstack/react-form-devtools'
+import { formDevtoolsPlugin } from '@tanstack/react-form-devtools'
async function sleep(ms: number) {
return new Promise((resolve) => {
@@ -141,7 +141,7 @@ createRoot(rootElement).render(
>,
)
diff --git a/examples/react/large-form/src/index.tsx b/examples/react/large-form/src/index.tsx
index 805537a43..ff73d4079 100644
--- a/examples/react/large-form/src/index.tsx
+++ b/examples/react/large-form/src/index.tsx
@@ -2,7 +2,7 @@ import * as React from 'react'
import { createRoot } from 'react-dom/client'
import { TanStackDevtools } from '@tanstack/react-devtools'
-import { FormDevtoolsPlugin } from '@tanstack/react-form-devtools'
+import { formDevtoolsPlugin } from '@tanstack/react-form-devtools'
import App from './App.tsx'
@@ -14,7 +14,7 @@ createRoot(rootElement).render(
,
)
diff --git a/examples/react/query-integration/src/index.tsx b/examples/react/query-integration/src/index.tsx
index f6a877696..ec118de68 100644
--- a/examples/react/query-integration/src/index.tsx
+++ b/examples/react/query-integration/src/index.tsx
@@ -2,7 +2,7 @@ import * as React from 'react'
import { createRoot } from 'react-dom/client'
import { TanStackDevtools } from '@tanstack/react-devtools'
-import { FormDevtoolsPlugin } from '@tanstack/react-form-devtools'
+import { formDevtoolsPlugin } from '@tanstack/react-form-devtools'
import { useForm } from '@tanstack/react-form'
import {
QueryClient,
@@ -174,7 +174,7 @@ createRoot(rootElement).render(
,
)
diff --git a/examples/react/simple/src/index.tsx b/examples/react/simple/src/index.tsx
index ffb90a5b1..4228f1e0e 100644
--- a/examples/react/simple/src/index.tsx
+++ b/examples/react/simple/src/index.tsx
@@ -2,7 +2,7 @@ import * as React from 'react'
import { createRoot } from 'react-dom/client'
import { TanStackDevtools } from '@tanstack/react-devtools'
-import { FormDevtoolsPlugin } from '@tanstack/react-form-devtools'
+import { formDevtoolsPlugin } from '@tanstack/react-form-devtools'
import { useForm } from '@tanstack/react-form'
import type { AnyFieldApi } from '@tanstack/react-form'
@@ -128,7 +128,7 @@ createRoot(rootElement).render(
,
)
diff --git a/examples/react/standard-schema/src/index.tsx b/examples/react/standard-schema/src/index.tsx
index 43d1add51..5a3744616 100644
--- a/examples/react/standard-schema/src/index.tsx
+++ b/examples/react/standard-schema/src/index.tsx
@@ -7,7 +7,7 @@ import * as v from 'valibot'
import { z } from 'zod'
import { TanStackDevtools } from '@tanstack/react-devtools'
-import { FormDevtoolsPlugin } from '@tanstack/react-form-devtools'
+import { formDevtoolsPlugin } from '@tanstack/react-form-devtools'
import { useForm } from '@tanstack/react-form'
import type { AnyFieldApi } from '@tanstack/react-form'
@@ -155,7 +155,7 @@ createRoot(rootElement).render(
,
)
diff --git a/examples/react/tanstack-start/src/routes/__root.tsx b/examples/react/tanstack-start/src/routes/__root.tsx
index 35ebc0b72..7140a7bf6 100644
--- a/examples/react/tanstack-start/src/routes/__root.tsx
+++ b/examples/react/tanstack-start/src/routes/__root.tsx
@@ -1,7 +1,7 @@
import { HeadContent, Scripts, createRootRoute } from '@tanstack/react-router'
import { TanStackDevtools } from '@tanstack/react-devtools'
-import { FormDevtoolsPlugin } from '@tanstack/react-form-devtools'
+import { formDevtoolsPlugin } from '@tanstack/react-form-devtools'
export const Route = createRootRoute({
head: () => ({
@@ -30,7 +30,7 @@ function RootDocument({ children }: { children: React.ReactNode }) {
{children}
-
+