[{"data":1,"prerenderedAt":444},["ShallowReactive",2],{"fougere:post.list:{}":3,"reference:\u002Freference\u002Fpackages\u002Freact":6,"reference-pages":222},{"items":4,"hasMore":5},[],false,{"id":7,"title":8,"body":9,"description":19,"extension":214,"file":215,"meta":216,"navigation":217,"path":218,"seo":219,"stem":220,"__hash__":221},"reference\u002Freference\u002Fpackages\u002Freact.md","@fougere\u002Freact",{"type":10,"value":11,"toc":208},"minimark",[12,16,20,26,31,131,135,142],[13,14,8],"h1",{"id":15},"fougerereact",[17,18,19],"p",{},"Fougere's four primitives as React hooks — host-independent.",[17,21,22,23],{},"Entries: ",[24,25,8],"code",{},[27,28,30],"h2",{"id":29},"what-you-import","What you import",[32,33,34,46],"table",{},[35,36,37],"thead",{},[38,39,40,44],"tr",{},[41,42,43],"th",{},"name",[41,45],{},[47,48,49,59,68,77,86,95,104,113,122],"tbody",{},[38,50,51,57],{},[52,53,54],"td",{},[24,55,56],{},"useQuery",[52,58],{},[38,60,61,66],{},[52,62,63],{},[24,64,65],{},"useCommand",[52,67],{},[38,69,70,75],{},[52,71,72],{},[24,73,74],{},"facade",[52,76],{},[38,78,79,84],{},[52,80,81],{},[24,82,83],{},"facadeOf",[52,85],{},[38,87,88,93],{},[52,89,90],{},[24,91,92],{},"useFormFor",[52,94],{},[38,96,97,102],{},[52,98,99],{},[24,100,101],{},"useCurrentUser",[52,103],{},[38,105,106,111],{},[52,107,108],{},[24,109,110],{},"FougereSession",[52,112],{},[38,114,115,120],{},[52,116,117],{},[24,118,119],{},"fetcher",[52,121],{},[38,123,124,129],{},[52,125,126],{},[24,127,128],{},"CALL_ENDPOINT",[52,130],{},[27,132,134],{"id":133},"types","Types",[17,136,137,138,141],{},"TypeScript types only — they do not run. Import them with ",[24,139,140],{},"import type"," to type your own code: a variable, a parameter, an option object.",[32,143,144,152],{},[35,145,146],{},[38,147,148,150],{},[41,149,43],{},[41,151],{},[47,153,154,163,172,181,190,199],{},[38,155,156,161],{},[52,157,158],{},[24,159,160],{},"FormOptions",[52,162],{},[38,164,165,170],{},[52,166,167],{},[24,168,169],{},"CallInput",[52,171],{},[38,173,174,179],{},[52,175,176],{},[24,177,178],{},"EntityClass",[52,180],{},[38,182,183,188],{},[52,184,185],{},[24,186,187],{},"SchemaView",[52,189],{},[38,191,192,197],{},[52,193,194],{},[24,195,196],{},"FormField",[52,198],{},[38,200,201,206],{},[52,202,203],{},[24,204,205],{},"SessionView",[52,207],{},{"title":209,"searchDepth":210,"depth":210,"links":211},"",2,[212,213],{"id":29,"depth":210,"text":30},{"id":133,"depth":210,"text":134},"md",null,{},true,"\u002Freference\u002Fpackages\u002Freact",{"title":8,"description":19},"reference\u002Fpackages\u002Freact","1s6zr_PBsvHO2nCPkpPcsHTOzuYz4A-9tpqk0CiKn-Q",[223,228,233,238,243,248,253,258,263,268,273,278,283,288,293,298,303,308,313,318,323,328,333,338,343,348,353,358,363,368,373,378,383,388,393,398,399,404,409,414,419,424,429,434,439],{"path":224,"title":225,"description":226,"stem":227},"\u002Freference\u002Fcli","CLI","fougere new, serve, call, sync, graph — composing a workspace, hosting one frond, invoking an operation from a shell.","reference\u002F01.cli",{"path":229,"title":230,"description":231,"stem":232},"\u002Freference\u002Ferrors","Error codes","Every code an operation can refuse with, and its HTTP status.","reference\u002F02.errors",{"path":234,"title":235,"description":236,"stem":237},"\u002Freference\u002Fconfig","fougere.config.ts","Every key the app config admits, and which package answers each one.","reference\u002F03.config",{"path":239,"title":240,"description":241,"stem":242},"\u002Freference\u002Ffrond-config","frond.config.ts","Every key a frond's own config admits.","reference\u002F04.frond-config",{"path":244,"title":245,"description":246,"stem":247},"\u002Freference\u002Fsources","Source types","Every type an entry of sources: may name, and the keys it admits.","reference\u002F05.sources",{"path":249,"title":250,"description":251,"stem":252},"\u002Freference\u002Fprotocols","Protocols","What protocols: may serve, and what each admits.","reference\u002F06.protocols",{"path":254,"title":255,"description":256,"stem":257},"\u002Freference\u002Fstates","State keepers","How state: may keep a caller's values.","reference\u002F07.states",{"path":259,"title":260,"description":261,"stem":262},"\u002Freference\u002Fforms","Forms","The types a frond is written with — each one read by the scan.","reference\u002F08.forms",{"path":264,"title":265,"description":266,"stem":267},"\u002Freference\u002Fports","Ports Fougere opens","The classes you stand in front of, or extend, to change what the framework does.","reference\u002F09.ports",{"path":269,"title":270,"description":271,"stem":272},"\u002Freference\u002Finterfaces","Interfaces to extend","The empty interfaces a package augments with declare module, and who augments each.","reference\u002F10.interfaces",{"path":274,"title":275,"description":276,"stem":277},"\u002Freference\u002Fdiagnostics","Boot and check diagnostics","Every code a boot, the scan or fougere check can raise, and what it says.","reference\u002F11.diagnostics",{"path":279,"title":280,"description":281,"stem":282},"\u002Freference\u002Fpackages\u002Fadapter-duckdb","@fougere\u002Fadapter-duckdb","Read across an app's sources — one SQL query over what DuckDB can attach.","reference\u002Fpackages\u002Fadapter-duckdb",{"path":284,"title":285,"description":286,"stem":287},"\u002Freference\u002Fpackages\u002Fadapter-env","@fougere\u002Fadapter-env","The process environment as a source — MEILI_URL read as Meili's url, judged at boot.","reference\u002Fpackages\u002Fadapter-env",{"path":289,"title":290,"description":291,"stem":292},"\u002Freference\u002Fpackages\u002Fadapter-file","@fougere\u002Fadapter-file","Rows as files — one JSON or YAML file per row, in a directory per entity.","reference\u002Fpackages\u002Fadapter-file",{"path":294,"title":295,"description":296,"stem":297},"\u002Freference\u002Fpackages\u002Fadapter-graphql","@fougere\u002Fadapter-graphql","Entity → GraphQL types, inputs and CRUD, through Pothos.","reference\u002Fpackages\u002Fadapter-graphql",{"path":299,"title":300,"description":301,"stem":302},"\u002Freference\u002Fpackages\u002Fadapter-memory","@fougere\u002Fadapter-memory","Rows in a Map — the source a first run meets, and the one that ships no driver.","reference\u002Fpackages\u002Fadapter-memory",{"path":304,"title":305,"description":306,"stem":307},"\u002Freference\u002Fpackages\u002Fadapter-rest","@fougere\u002Fadapter-rest","Entity → REST routes.","reference\u002Fpackages\u002Fadapter-rest",{"path":309,"title":310,"description":311,"stem":312},"\u002Freference\u002Fpackages\u002Fadapter-sql","@fougere\u002Fadapter-sql","Entity → SQL tables through Kysely (SQLite, PostgreSQL, MySQL, SQL Server).","reference\u002Fpackages\u002Fadapter-sql",{"path":314,"title":315,"description":316,"stem":317},"\u002Freference\u002Fpackages\u002Fadmin","@fougere\u002Fadmin","A back-office derived from what the app already says it hosts — a react-admin DataProvider over the Fougere wire.","reference\u002Fpackages\u002Fadmin",{"path":319,"title":320,"description":321,"stem":322},"\u002Freference\u002Fpackages\u002Fapp","@fougere\u002Fapp","The host-independent half of a Fougere app: boot, call envelope, REST table, form contract.","reference\u002Fpackages\u002Fapp",{"path":324,"title":325,"description":326,"stem":327},"\u002Freference\u002Fpackages\u002Fauth-better","@fougere\u002Fauth-better","Fougere's auth — a translation layer onto better-auth.","reference\u002Fpackages\u002Fauth-better",{"path":329,"title":330,"description":331,"stem":332},"\u002Freference\u002Fpackages\u002Fcalls","@fougere\u002Fcalls","Optional call log for Fougere: a bounded ring of every dispatch, served as an rpc operation. Read it with `fougere devtools`.","reference\u002Fpackages\u002Fcalls",{"path":334,"title":335,"description":336,"stem":337},"\u002Freference\u002Fpackages\u002Fcli","@fougere\u002Fcli","The Fougere CLI — compose a workspace, serve a frond, call an operation.","reference\u002Fpackages\u002Fcli",{"path":339,"title":340,"description":341,"stem":342},"\u002Freference\u002Fpackages\u002Fcompiler","@fougere\u002Fcompiler","The scan: Fougere reading a project's source to produce the descriptors core boots from. Needs a filesystem and a TypeScript program.","reference\u002Fpackages\u002Fcompiler",{"path":344,"title":345,"description":346,"stem":347},"\u002Freference\u002Fpackages\u002Fcontainer","@fougere\u002Fcontainer","Fougere's DI container: resolution by type, wired from the AST scan. Zero dependencies.","reference\u002Fpackages\u002Fcontainer",{"path":349,"title":350,"description":351,"stem":352},"\u002Freference\u002Fpackages\u002Fcore","@fougere\u002Fcore","The core — scan, call contract, façades, remote stand-ins.","reference\u002Fpackages\u002Fcore",{"path":354,"title":355,"description":356,"stem":357},"\u002Freference\u002Fpackages\u002Fdecorators","@fougere\u002Fdecorators","Configuration sugar (@config) — declarative, never hidden runtime.","reference\u002Fpackages\u002Fdecorators",{"path":359,"title":360,"description":361,"stem":362},"\u002Freference\u002Fpackages\u002Fdefaults","@fougere\u002Fdefaults","The conventional boot of a Fougere app — the one place storage is wired.","reference\u002Fpackages\u002Fdefaults",{"path":364,"title":365,"description":366,"stem":367},"\u002Freference\u002Fpackages\u002Fgraph","@fougere\u002Fgraph","Fougere's graph: a labelled directed multigraph, and the four questions asked of it — order, cycles, components, reach. Zero dependencies.","reference\u002Fpackages\u002Fgraph",{"path":369,"title":370,"description":371,"stem":372},"\u002Freference\u002Fpackages\u002Fhttp","@fougere\u002Fhttp","The words every HTTP door speaks — a method, an answer, the headers a state travels in.","reference\u002Fpackages\u002Fhttp",{"path":374,"title":375,"description":376,"stem":377},"\u002Freference\u002Fpackages\u002Flog","@fougere\u002Flog","Logging for Fougere: two lines for every call, in every process, and a file destination for the lines.","reference\u002Fpackages\u002Flog",{"path":379,"title":380,"description":381,"stem":382},"\u002Freference\u002Fpackages\u002Fnext","@fougere\u002Fnext","The Next.js adapter: mounting, and the one import that is genuinely Next.","reference\u002Fpackages\u002Fnext",{"path":384,"title":385,"description":386,"stem":387},"\u002Freference\u002Fpackages\u002Fnuxt","@fougere\u002Fnuxt","The Nuxt module: Fougere's client primitives and server surface.","reference\u002Fpackages\u002Fnuxt",{"path":389,"title":390,"description":391,"stem":392},"\u002Freference\u002Fpackages\u002Fobservability","@fougere\u002Fobservability","Optional observability for Fougere: one span per operation, W3C Trace Context across any transport.","reference\u002Fpackages\u002Fobservability",{"path":394,"title":395,"description":396,"stem":397},"\u002Freference\u002Fpackages\u002Foclif","@fougere\u002Foclif","A frond's operations, as a terminal: topics, flags and help derived from what it declares.","reference\u002Fpackages\u002Foclif",{"path":218,"title":8,"description":19,"stem":220},{"path":400,"title":401,"description":402,"stem":403},"\u002Freference\u002Fpackages\u002Fregistry","@fougere\u002Fregistry","Fougere's registry: one answer per name, refused when a second one arrives, and a reload that says it replaces. Zero dependencies.","reference\u002Fpackages\u002Fregistry",{"path":405,"title":406,"description":407,"stem":408},"\u002Freference\u002Fpackages\u002Fschema","@fougere\u002Fschema","The entity and its 4 axes — shape, role, lifecycle, boundary. Subject-owned judgments, edge-safe.","reference\u002Fpackages\u002Fschema",{"path":410,"title":411,"description":412,"stem":413},"\u002Freference\u002Fpackages\u002Fstate-cookie","@fougere\u002Fstate-cookie","A caller's state kept in a cookie — what `state: { cart: { cookie: {} } }` names, signed by core, carried by every HTTP door.","reference\u002Fpackages\u002Fstate-cookie",{"path":415,"title":416,"description":417,"stem":418},"\u002Freference\u002Fpackages\u002Fstate-session","@fougere\u002Fstate-session","A caller's state kept in a session — what `state: { cart: { session: {} } }` names: one cookie holds a reference, the values a row in a source.","reference\u002Fpackages\u002Fstate-session",{"path":420,"title":421,"description":422,"stem":423},"\u002Freference\u002Fpackages\u002Fsvelte","@fougere\u002Fsvelte","Fougere's four primitives as Svelte stores — host-independent.","reference\u002Fpackages\u002Fsvelte",{"path":425,"title":426,"description":427,"stem":428},"\u002Freference\u002Fpackages\u002Ftesting","@fougere\u002Ftesting","Tests derived from the declaration — cases, stubs and a gradient of realities.","reference\u002Fpackages\u002Ftesting",{"path":430,"title":431,"description":432,"stem":433},"\u002Freference\u002Fpackages\u002Ftransport-http","@fougere\u002Ftransport-http","The call contract on the wire, in JSON-RPC 2.0 (server + client).","reference\u002Fpackages\u002Ftransport-http",{"path":435,"title":436,"description":437,"stem":438},"\u002Freference\u002Fpackages\u002Fvite","@fougere\u002Fvite","The Vite plugin: what any Vite-built host must know to run a Fougere app.","reference\u002Fpackages\u002Fvite",{"path":440,"title":441,"description":442,"stem":443},"\u002Freference\u002Fpackages\u002Fworkflow","@fougere\u002Fworkflow","A release that goes to the end: the journal is three entities, the sweep is an operation, and a shared journal is one line of remotes:.","reference\u002Fpackages\u002Fworkflow",1794396613362]