devtools
Built-in devtools with live preview, hot reload, time-travel debugging, and more.
Import
import { devtools } from 'frog/dev'
Usage
Check out the Devtools Guide for more information on features and how the devtools work.
import { Frog } from 'frog'
import { devtools } from 'frog/dev'
import { serveStatic } from 'frog/serve-static'
export const app = new Frog({ title: 'Frog Frame' })
app.frame('/', (c) => { ... })
devtools(app, { serveStatic })
Parameters
appFid
- Type:
number | undefined
Custom Farcaster application FID for the devtools instance.
import { Frog } from 'frog'
import { devtools } from 'frog/dev'
export const app = new Frog({ title: 'Frog Frame' })
app.frame('/', (c) => { ... })
devtools(app, {
appFid: 123,
})
appMnemonic
- Type:
string | undefined
Custom Farcaster application mnemonic for the devtools instance.
import { Frog } from 'frog'
import { devtools } from 'frog/dev'
export const app = new Frog({ title: 'Frog Frame' })
app.frame('/', (c) => { ... })
devtools(app, {
appMnemonic: 'foo bar baz ...',
})
assetsPath
- Type:
string | undefined
The base path for devtools' assets.
import { Frog } from 'frog'
import { devtools } from 'frog/dev'
export const app = new Frog({ title: 'Frog Frame' })
app.frame('/', (c) => { ... })
devtools(app, {
assetsPath: '/.frog',
})
basePath
- Type:
string
- Default:
'/dev'
The base path for the devtools instance off the Frog instance's bathPath
.
import { Frog } from 'frog'
import { devtools } from 'frog/dev'
import { serveStatic } from 'frog/serve-static'
export const app = new Frog({ title: 'Frog Frame' })
app.frame('/', (c) => { ... })
devtools(app, {
basePath: '/debug', // devtools available at `http://localhost:5173/debug`
serveStatic,
})
serveStatic
- Type:
ServeStaticFunction | undefined
Platform-dependent function to serve devtools' static files.
Node.js
import { Frog } from 'frog'
import { devtools } from 'frog/dev'
import { serveStatic } from 'frog/serve-static'
export const app = new Frog({ title: 'Frog Frame' })
devtools(app, {
serveStatic,
})
serveStaticOptions
- Type: Inferred
- Default:
{ root: '<resolved path to frog/_lib/ui>', rewriteRequestPath: (path) => path.replace(devBasePath, '') }
Parameters to pass to the serveStatic
function.
Cloudlare Workers
import { Frog } from 'frog'
import { devtools } from 'frog/dev'
import { serveStatic } from 'hono/cloudflare-workers'
export const app = new Frog({ title: 'Frog Frame' })
devtools(app, {
serveStatic,
serveStaticOptions: {
manifest: await import('__STATIC_CONTENT_MANIFEST'),
root: './',
},
})