dragonJSON is a single-file ES module (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/michael-tiger-2010/dragonjson/llms.txt
Use this file to discover all available pages before exploring further.
client/web-client.js) with zero external dependencies — there is nothing to install and no build step required. Drop the file into your project, point an import at it, and you are ready to go. The Node.js server reference implementation is equally self-contained, relying only on Node’s built-in http and url modules.
Client setup
- Copy file
- Direct import (browser)
Copy Because
client/web-client.js from the dragonJSON repository into your project, then import it as a standard ES module:web-client.js uses only standard browser APIs (fetch and Proxy), no bundler or transpiler is needed. It works as-is in any modern browser or in Node.js 18+.Server setup
The repository ships a ready-to-run Node.js reference server atserver/nodejs/server.js.
Start the server:
npm install is required. The server uses only Node.js built-in modules (http and url).
Swapping in your own data store:
The reference server uses a simple in-memory object. To connect dragonJSON to a real database, replace the three data-access functions:
| Function | Responsibility |
|---|---|
getByPath(pathArray) | Read a value from the store at the given path. |
setByPath(pathArray, value) | Write or update a value at the given path. |
deleteByPath(pathArray) | Remove the entry at the given path. |
Browser compatibility
The dragonJSON client relies on two standard platform features:fetch— the browser Fetch API for HTTP requests.Proxy— the ES2015 Proxy object for path interception.
fetch polyfill (such as whatwg-fetch) is sufficient for the network layer; Proxy cannot be polyfilled and requires a natively compliant runtime.
Writing your own server
The dragonJSON wire protocol is language-agnostic. Any HTTP server that speaks JSON can act as a dragonJSON backend as long as it honours the expected request shapes, response formats, batch protocol, andinvalidate contract. See the Server Specification for the full contract, including the __more, __batch, and mutation response conventions.