A lightweight content editing devtools panel for React applications. Edit your JSON content in real-time with live preview.
npm install content-expose
# or
pnpm add content-expose
# or
yarn add content-expose// app/root.tsx or similar
import { initContentExpose, ContentExpose } from 'content-expose';
import rawContent from '../content.json';
// Initialize with your content
initContentExpose(rawContent);
export default function App() {
return (
<>
<Outlet />
<ContentExpose />
</>
);
}// Any component
import { content } from 'content-expose';
export function Navbar() {
return <img src={content.settings.logo.url} />;
}
export function Footer() {
return <span>{content.settings.company_name}</span>;
}- Keyboard shortcut: Press
Cmd+E(Mac) orCtrl+E(Windows/Linux) to toggle the panel - Live preview: Edit JSON and see changes immediately after clicking Preview
- Tabbed interface: Only shows content keys you've actually accessed
- Draggable & resizable: Position the panel wherever you want
- Export: Copy the full JSON to clipboard for easy PR creation
- Reset: Revert to original content at any time
initContentExpose()stores your raw content in a singleton- The
contentexport is a Proxy that tracks which keys are accessed ContentExposecomponent shows tabs only for accessed content sections- Preview stores modified content in localStorage and reloads
- The proxy returns localStorage content when available
MIT