Developer tools for SWR cache visualization and debugging in React applications.
- 🔍 Cache Visualization: View and explore your SWR cache data in real-time
- 🎨 JSON Editor: Edit cache values directly in the DevTools interface
- 🌗 Theme Support: Light, dark, and auto themes
- 📱 Flexible Positioning: Position the DevTools panel anywhere on your screen
- ⚡ Zero Configuration: Works out of the box with any SWR setup
npm install swr-cache-devtools
# or
yarn add swr-cache-devtools
# or
pnpm add swr-cache-devtoolsSimply import and add the SwrCacheDevTools component to your React application:
import { SwrCacheDevTools } from "swr-cache-devtools";
function App() {
return (
<div>
{/* Your app content */}
<SwrCacheDevTools />
</div>
);
}import { SwrCacheDevTools } from "swr-cache-devtools";
function App() {
return (
<div>
{/* Your app content */}
<SwrCacheDevTools
position="bottom-right"
theme="dark"
defaultOpen={false}
maxHeight={400}
maxWidth={600}
/>
</div>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
position |
"top-left" | "top-right" | "bottom-left" | "bottom-right" |
"bottom-right" |
Position of the DevTools panel |
theme |
"light" | "dark" | "auto" |
"auto" |
Color theme |
defaultOpen |
boolean |
false |
Whether the panel starts open |
maxHeight |
number |
400 |
Maximum height of the panel |
maxWidth |
number |
600 |
Maximum width of the panel |
className |
string |
- | Custom CSS class for the container |
buttonStyle |
React.CSSProperties |
- | Custom styles for the toggle button |
panelStyle |
React.CSSProperties |
- | Custom styles for the panel |
It's recommended to only include the DevTools in development mode:
import { SwrCacheDevTools } from "swr-cache-devtools";
function App() {
return (
<div>
{/* Your app content */}
{process.env.NODE_ENV === "development" && <SwrCacheDevTools />}
</div>
);
}You can try the DevTools in our interactive demo application:
- Live Demo
- Local development:
pnpm dev --filter=web
This repository uses Turborepo for monorepo management:
packages/swr-cache-devtools: Main library packageapps/web: Demo application showcasing the DevToolsapps/docs: Documentation website
- React >= 17.0.0
- SWR >= 2.0.0
To develop all apps and packages:
# Install dependencies
pnpm install
# Start development mode
pnpm devTo develop specific packages:
# Develop the DevTools package
pnpm dev --filter=swr-cache-devtools
# Develop the demo app
pnpm dev --filter=webTo build all packages:
pnpm buildTo build specific packages:
# Build the DevTools package
pnpm build --filter=swr-cache-devtools
# Build the demo app
pnpm build --filter=webThe main package is automatically published to npm when changes are made to the packages/swr-cache-devtools directory.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - see the LICENSE file for details.
Yoshiharu Kamata